From 96acf0a89137fa19ec85d6d22a91cc574a73bf9b Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Sun, 22 May 2022 17:19:52 +0800 Subject: [PATCH] Handle directory creation failure gracefully. --- .../java/org/love2d/android/GameActivity.java | 5 +++++ .../java/org/love2d/android/MainActivity.java | 19 ++++++++----------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/org/love2d/android/GameActivity.java b/app/src/main/java/org/love2d/android/GameActivity.java index b8bac43e..bba5d4cf 100644 --- a/app/src/main/java/org/love2d/android/GameActivity.java +++ b/app/src/main/java/org/love2d/android/GameActivity.java @@ -135,6 +135,11 @@ public class GameActivity extends SDLActivity { super.onPause(); } + @Keep + public static DisplayMetrics getDisplayMetrics() { + return getDisplayDPI(); + } + @Keep public boolean hasEmbeddedGame() { AssetManager am = getAssets(); diff --git a/app/src/normal/java/org/love2d/android/MainActivity.java b/app/src/normal/java/org/love2d/android/MainActivity.java index 0aa198b4..531474ed 100644 --- a/app/src/normal/java/org/love2d/android/MainActivity.java +++ b/app/src/normal/java/org/love2d/android/MainActivity.java @@ -10,6 +10,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import android.content.Intent; import android.os.Build; import android.os.Bundle; +import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -23,6 +24,7 @@ import java.util.concurrent.Executors; import java.util.zip.ZipFile; public class MainActivity extends AppCompatActivity { + private static final String TAG = "MainActivity"; private Executor executor = Executors.newSingleThreadExecutor(); @@ -95,24 +97,19 @@ public class MainActivity extends AppCompatActivity { } private void scanGames(GameListAdapter adapter, ConstraintLayout noGameText, SwipeRefreshLayout swipeRefreshLayout) { - final MainActivity current = this; - executor.execute(() -> { File extDir = getExternalFilesDir("games"); if (!extDir.isDirectory()) { if (!extDir.mkdir()) { // Scan failure, abort - if (swipeRefreshLayout != null) { - swipeRefreshLayout.setRefreshing(false); - } + runOnUiThread(() -> { + if (swipeRefreshLayout != null) { + swipeRefreshLayout.setRefreshing(false); + } + }); - new AlertDialog.Builder(current) - .setTitle("Scan error") - .setMessage("Scan failure") - .setPositiveButton(R.string.ok, (dialog1, which) -> { }) - .create() - .show(); + Log.e(TAG, "Directory creation failure."); return; } }