diff options
author | Bektur <berkut87@gmail.com> | 2020-06-05 07:22:19 +0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-05 02:22:19 +0100 |
commit | 87b25e583dcb2bc1079a7b5906b97a787ac04be8 (patch) | |
tree | e888799992d8c7928e6bcdcbc92a62a325dacba1 /build/android/app/src/main/java/net/minetest/minetest/UnzipService.java | |
parent | 850af80089b3415265c4b4b744448509f776a52d (diff) | |
download | minetest-87b25e583dcb2bc1079a7b5906b97a787ac04be8.tar.gz minetest-87b25e583dcb2bc1079a7b5906b97a787ac04be8.tar.bz2 minetest-87b25e583dcb2bc1079a7b5906b97a787ac04be8.zip |
Show Toast in UI thread and fix unpacking on Android 10 (#9900)
Diffstat (limited to 'build/android/app/src/main/java/net/minetest/minetest/UnzipService.java')
-rw-r--r-- | build/android/app/src/main/java/net/minetest/minetest/UnzipService.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/build/android/app/src/main/java/net/minetest/minetest/UnzipService.java b/build/android/app/src/main/java/net/minetest/minetest/UnzipService.java index 6356dff19..b69f7f36e 100644 --- a/build/android/app/src/main/java/net/minetest/minetest/UnzipService.java +++ b/build/android/app/src/main/java/net/minetest/minetest/UnzipService.java @@ -42,20 +42,21 @@ import java.util.zip.ZipInputStream; public class UnzipService extends IntentService { public static final String ACTION_UPDATE = "net.minetest.minetest.UPDATE"; public static final String ACTION_PROGRESS = "net.minetest.minetest.PROGRESS"; + public static final String ACTION_FAILURE = "net.minetest.minetest.FAILURE"; public static final String EXTRA_KEY_IN_FILE = "file"; public static final int SUCCESS = -1; public static final int FAILURE = -2; - private static final String TAG = "UnzipService"; private final int id = 1; private NotificationManager mNotifyManager; private boolean isSuccess = true; + private String failureMessage; public UnzipService() { super("net.minetest.minetest.UnzipService"); } private void isDir(String dir, String location) { - File f = new File(location + dir); + File f = new File(location, dir); if (!f.isDirectory()) f.mkdirs(); } @@ -99,7 +100,8 @@ public class UnzipService extends IntentService { private void unzip(Intent intent) { String zip = intent.getStringExtra(EXTRA_KEY_IN_FILE); - String location = Environment.getExternalStorageDirectory() + "/Minetest/"; + isDir("Minetest", Environment.getExternalStorageDirectory().toString()); + String location = Environment.getExternalStorageDirectory() + File.separator + "Minetest" + File.separator; int per = 0; int size = getSummarySize(zip); File zipFile = new File(zip); @@ -124,13 +126,14 @@ public class UnzipService extends IntentService { } } catch (IOException e) { isSuccess = false; - Toast.makeText(this, e.getLocalizedMessage(), Toast.LENGTH_LONG).show(); + failureMessage = e.getLocalizedMessage(); } } private void publishProgress(int progress) { Intent intentUpdate = new Intent(ACTION_UPDATE); intentUpdate.putExtra(ACTION_PROGRESS, progress); + if (!isSuccess) intentUpdate.putExtra(ACTION_FAILURE, failureMessage); sendBroadcast(intentUpdate); } |