diff --git a/app/src/main/java/com/topjohnwu/magisk/MainActivity.java b/app/src/main/java/com/topjohnwu/magisk/MainActivity.java index 13524865f..9b8e4cfb7 100644 --- a/app/src/main/java/com/topjohnwu/magisk/MainActivity.java +++ b/app/src/main/java/com/topjohnwu/magisk/MainActivity.java @@ -144,8 +144,12 @@ public class MainActivity extends AppCompatActivity Menu menu = navigationView.getMenu(); menu.findItem(R.id.magiskhide).setVisible(StatusFragment.magiskVersion > 0 && prefs.getBoolean("magiskhide", false) && Shell.rootAccess()); - menu.findItem(R.id.modules).setVisible(StatusFragment.magiskVersion > 0); - menu.findItem(R.id.downloads).setVisible(StatusFragment.magiskVersion > 0); + menu.findItem(R.id.modules).setVisible(StatusFragment.magiskVersion > 0 && + Shell.rootAccess()); + menu.findItem(R.id.downloads).setVisible(StatusFragment.magiskVersion > 0 && + Shell.rootAccess()); + menu.findItem(R.id.log).setVisible(Shell.rootAccess()); + menu.findItem(R.id.install).setVisible(Shell.rootAccess()); } public void navigate(final int itemId) { diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/Async.java b/app/src/main/java/com/topjohnwu/magisk/utils/Async.java index 445f39e74..dbb0c2f90 100644 --- a/app/src/main/java/com/topjohnwu/magisk/utils/Async.java +++ b/app/src/main/java/com/topjohnwu/magisk/utils/Async.java @@ -36,6 +36,7 @@ public class Async { public abstract static class RootTask extends AsyncTask { @SafeVarargs public final void exec(Params... params) { + if (!Shell.rootAccess()) return; executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, params); } } @@ -126,7 +127,6 @@ public class Async { @Override protected Void doInBackground(Void... voids) { - if (! Shell.rootAccess()) return null; MagiskHideFragment.hideList.clear(); MagiskHideFragment.fListApps.clear(); MagiskHideFragment.listApps = pm.getInstalledApplications(PackageManager.GET_META_DATA); @@ -240,27 +240,20 @@ public class Async { return -1; } if (!unzipAndCheck()) return 0; - if (Shell.rootAccess()) { - publishProgress(mContext.getString(R.string.zip_install_progress_msg, mFilename)); - ret = Shell.su( - "BOOTMODE=true sh " + mCachedFile.getParent() + - "/META-INF/com/google/android/update-binary dummy 1 " + mCachedFile.getPath(), - "if [ $? -eq 0 ]; then echo true; else echo false; fi" - ); - Logger.dev("FlashZip: Console log:"); - for (String line : ret) { - Logger.dev(line); - } - Shell.su( - "rm -rf " + mCachedFile.getParent() + "/*", - "rm -rf " + TMP_FOLDER_PATH - ); - } else { - if (mCachedFile != null && mCachedFile.exists() && !mCachedFile.delete()) { - Utils.removeItem(mCachedFile.getPath()); - } - return -1; + publishProgress(mContext.getString(R.string.zip_install_progress_msg, mFilename)); + ret = Shell.su( + "BOOTMODE=true sh " + mCachedFile.getParent() + + "/META-INF/com/google/android/update-binary dummy 1 " + mCachedFile.getPath(), + "if [ $? -eq 0 ]; then echo true; else echo false; fi" + ); + Logger.dev("FlashZip: Console log:"); + for (String line : ret) { + Logger.dev(line); } + Shell.su( + "rm -rf " + mCachedFile.getParent() + "/*", + "rm -rf " + TMP_FOLDER_PATH + ); if (Boolean.parseBoolean(ret.get(ret.size() - 1))) { return 1; } diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java b/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java index 334f2a882..2f7a35fbd 100644 --- a/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java +++ b/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java @@ -74,11 +74,7 @@ public class Utils { public static List getModList(String path) { List ret; String command = "find " + path + " -type d -maxdepth 1 ! -name \"*.core\" ! -name \"*lost+found\" ! -name \"*magisk\""; - if (Shell.rootAccess()) { - ret = Shell.su(command); - } else { - ret = Shell.sh(command); - } + ret = Shell.su(command); return ret; }