From cb1df5217eabd35a1cfd9740afbb40de5c8a76ed Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Tue, 29 Nov 2016 13:38:32 +0800 Subject: [PATCH] Update error messages --- .../com/topjohnwu/magisk/MagiskFragment.java | 19 +++++++++++-------- .../com/topjohnwu/magisk/SplashActivity.java | 1 - .../com/topjohnwu/magisk/utils/Async.java | 11 ++++++++--- .../com/topjohnwu/magisk/utils/ZipUtils.java | 2 +- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/MagiskFragment.java b/app/src/main/java/com/topjohnwu/magisk/MagiskFragment.java index 691bb68ee..434d659e1 100644 --- a/app/src/main/java/com/topjohnwu/magisk/MagiskFragment.java +++ b/app/src/main/java/com/topjohnwu/magisk/MagiskFragment.java @@ -81,14 +81,17 @@ public class MagiskFragment extends Fragment { @Override protected boolean unzipAndCheck() { publishProgress(mContext.getString(R.string.zip_install_unzip_zip_msg)); - // We might not have busybox yet, unzip with Java - // We will have complete busybox after Magisk installation - ZipUtils.unzip(mCachedFile, new File(mCachedFile.getParent(), "magisk")); - Shell.su( - "mkdir -p " + Async.TMP_FOLDER_PATH + "/magisk", - "cp -af " + mCachedFile.getParent() + "/magisk/. " + Async.TMP_FOLDER_PATH + "/magisk" - ); - return super.unzipAndCheck(); + if (Shell.rootAccess()) { + // We might not have busybox yet, unzip with Java + // We will have complete busybox after Magisk installation + ZipUtils.unzip(mCachedFile, new File(mCachedFile.getParent(), "magisk")); + Shell.su( + "mkdir -p " + Async.TMP_FOLDER_PATH + "/magisk", + "cp -af " + mCachedFile.getParent() + "/magisk/. " + Async.TMP_FOLDER_PATH + "/magisk" + ); + } + super.unzipAndCheck(); + return true; } @Override diff --git a/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java b/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java index d1406c648..3367b1da5 100644 --- a/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java +++ b/app/src/main/java/com/topjohnwu/magisk/SplashActivity.java @@ -37,7 +37,6 @@ public class SplashActivity extends AppCompatActivity { .apply(); new Async.CheckUpdates(prefs).exec(); -// new Async.ConstructEnv(getApplicationInfo()).exec(); new Async.LoadModules(prefs) { @Override 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 554fe1384..19c65f4f5 100644 --- a/app/src/main/java/com/topjohnwu/magisk/utils/Async.java +++ b/app/src/main/java/com/topjohnwu/magisk/utils/Async.java @@ -207,7 +207,7 @@ public class Async { @Override protected Integer doInBackground(Void... voids) { Logger.dev("FlashZip Running... " + mFilename); - List ret = null; + List ret; try { preProcessing(); copyToCache(); @@ -216,8 +216,8 @@ public class Async { return -1; } if (!unzipAndCheck()) return 0; - publishProgress(mContext.getString(R.string.zip_install_progress_msg, mFilename)); 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(), @@ -231,6 +231,11 @@ public class Async { "rm -rf " + mCachedFile.getParent() + "/*", "rm -rf " + TMP_FOLDER_PATH ); + } else { + if (mCachedFile != null && mCachedFile.exists() && !mCachedFile.delete()) { + Utils.removeItem(mCachedFile.getPath()); + } + return -1; } if (ret != null && Boolean.parseBoolean(ret.get(ret.size() - 1))) { return 1; @@ -238,7 +243,7 @@ public class Async { return -1; } - // -1 = error; 0 = invalid zip; 1 = success + // -1 = error, manual install; 0 = invalid zip; 1 = success @Override protected void onPostExecute(Integer result) { super.onPostExecute(result); diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/ZipUtils.java b/app/src/main/java/com/topjohnwu/magisk/utils/ZipUtils.java index 10214e49c..ab5c957b3 100644 --- a/app/src/main/java/com/topjohnwu/magisk/utils/ZipUtils.java +++ b/app/src/main/java/com/topjohnwu/magisk/utils/ZipUtils.java @@ -139,7 +139,7 @@ public class ZipUtils { if (!entry.getName().contains(path)) { continue; } - Logger.dev("Extracting: " + entry); + Logger.dev("ZipUtils: Extracting: " + entry); is = zipfile.getInputStream(entry); dest = new File(folder, entry.getName()); if (dest.getParentFile().mkdirs()) {