Refactor su database

This commit is contained in:
topjohnwu
2017-06-01 00:19:52 +08:00
parent 27879c3f01
commit 9a1dc8ee0e
10 changed files with 228 additions and 209 deletions
@@ -5,21 +5,18 @@ import android.content.Context;
import android.content.Intent;
import com.topjohnwu.magisk.MagiskManager;
import com.topjohnwu.magisk.database.SuDatabaseHelper;
import com.topjohnwu.magisk.superuser.Policy;
import com.topjohnwu.magisk.utils.Logger;
import com.topjohnwu.magisk.utils.Utils;
public class PackageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
SuDatabaseHelper suDB = new SuDatabaseHelper(context);
MagiskManager magiskManager = Utils.getMagiskManager(context);
String pkg = intent.getData().getEncodedSchemeSpecificPart();
Policy policy = suDB.getPolicy(pkg);
Policy policy = magiskManager.suDB.getPolicy(pkg);
if (policy == null)
return;
MagiskManager magiskManager = Utils.getMagiskManager(context);
magiskManager.initSUConfig();
switch (intent.getAction()) {
@@ -29,12 +26,12 @@ public class PackageReceiver extends BroadcastReceiver {
if (uid > 0) {
policy.uid = uid % 100000;
}
suDB.updatePolicy(policy);
magiskManager.suDB.updatePolicy(policy);
return;
case Intent.ACTION_PACKAGE_REMOVED:
boolean isUpdate = intent.getBooleanExtra(Intent.EXTRA_REPLACING, false);
if (!isUpdate || magiskManager.suReauth) {
suDB.deletePolicy(policy);
magiskManager.suDB.deletePolicy(policy);
}
break;
}