diff --git a/app/src/main/java/com/topjohnwu/magisk/receivers/PackageReceiver.java b/app/src/main/java/com/topjohnwu/magisk/receivers/PackageReceiver.java index 828135493..f580454ac 100644 --- a/app/src/main/java/com/topjohnwu/magisk/receivers/PackageReceiver.java +++ b/app/src/main/java/com/topjohnwu/magisk/receivers/PackageReceiver.java @@ -6,34 +6,26 @@ import android.content.Intent; import com.topjohnwu.magisk.MagiskManager; import com.topjohnwu.magisk.container.Policy; +import com.topjohnwu.magisk.utils.Shell; import com.topjohnwu.magisk.utils.Utils; public class PackageReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { - MagiskManager magiskManager = Utils.getMagiskManager(context); + MagiskManager mm = Utils.getMagiskManager(context); String pkg = intent.getData().getEncodedSchemeSpecificPart(); - Policy policy = magiskManager.suDB.getPolicy(pkg); - if (policy == null) - return; switch (intent.getAction()) { case Intent.ACTION_PACKAGE_REPLACED: // This will only work pre-O - if (magiskManager.suReauth) { - magiskManager.suDB.deletePolicy(policy); - } else { - int uid = intent.getIntExtra(Intent.EXTRA_UID, -1); - // Update the UID if available - if (uid > 0) { - policy.uid = uid % 100000; - } - magiskManager.suDB.updatePolicy(policy); + if (mm.suReauth) { + mm.suDB.deletePolicy(pkg); } break; case Intent.ACTION_PACKAGE_FULLY_REMOVED: - magiskManager.suDB.deletePolicy(policy); + mm.suDB.deletePolicy(pkg); + Shell.su_raw("magiskhide --rm " + pkg); break; } }