Fix and tweaks for MagiskHide

This commit is contained in:
topjohnwu
2016-11-07 23:59:10 +08:00
parent b69a4fe8b5
commit 793269731d
7 changed files with 137 additions and 250 deletions

View File

@@ -8,13 +8,8 @@ import android.support.v7.app.AppCompatActivity;
import com.topjohnwu.magisk.utils.Async;
import com.topjohnwu.magisk.utils.Logger;
import com.topjohnwu.magisk.utils.Shell;
import com.topjohnwu.magisk.utils.Utils;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class SplashActivity extends AppCompatActivity {
private SharedPreferences prefs;
@@ -31,18 +26,17 @@ public class SplashActivity extends AppCompatActivity {
Logger.devLog = prefs.getBoolean("developer_logging", false);
Logger.logShell = prefs.getBoolean("shell_logging", false);
// Check and set preferences/hides
setupHideLists();
// Initialize
// Initialize prefs
prefs.edit()
.putBoolean("module_done", false)
.putBoolean("repo_done", false)
.putBoolean("update_check_done", false)
.putBoolean("magiskhide", Utils.itemExist(false, "/magisk/.core/magiskhide/enable"))
.putBoolean("busybox", Utils.commandExists("unzip"))
.apply();
new Async.CheckUpdates(prefs).exec();
new Async.constructEnv(getApplicationInfo()).exec();
new Async.ConstructEnv(getApplicationInfo()).exec();
new Async.LoadModules(prefs) {
@Override
@@ -57,64 +51,4 @@ public class SplashActivity extends AppCompatActivity {
}.exec();
}
private void setupHideLists() {
Set<String> set = new HashSet<>();
Set<String> setOriginal = null;
List<String> hideList = null;
// List<String> addList = null;
String listCmd, addCmd, addCmd2, rmCmd, rmCmd2;
// Build list of apps currently listed, add to preferences
int hideVersion = Utils.WhichHide(getApplication());
switch (hideVersion) {
case 1:
listCmd = "/magisk/.core/magiskhide/list";
break;
case 2:
listCmd = "/su/suhide/list";
break;
case 3:
listCmd = "/magisk/.core/magiskhide/list && /su/suhide/list";
break;
default:
listCmd = "";
}
if (Shell.rootAccess()) {
hideList = Shell.su(listCmd);
}
// Set up default preferences,make sure we add "extra" blacklist entries.
if (!prefs.contains("auto_blacklist")) {
Logger.dev("SplashActivity: Setting default preferences for application");
set.add("com.google.android.apps.walletnfcrel");
set.add("com.google.android.gms");
set.add("com.google.commerce.tapandpay");
// Add current items to hide list
if (hideList != null) set.addAll(hideList);
SharedPreferences.Editor editor = prefs.edit();
editor.putStringSet("auto_blacklist", set);
Logger.dev("SplashActivity: Adding entries " + set.toString());
editor.apply();
}
setOriginal = prefs.getStringSet("auto_blacklist", set);
// if (hideList != null) {
// for (String item : hideList) {
// if (!(setOriginal.contains(item))) {
// addList.add(item);
// }
// }
// }
SharedPreferences.Editor editor = prefs.edit();
editor.putStringSet("auto_blacklist", set);
editor.apply();
}
}