From 28fa92f1cbb98b1279d6bec94648d87270480952 Mon Sep 17 00:00:00 2001 From: artdeell Date: Thu, 26 Aug 2021 14:09:24 +0300 Subject: [PATCH] Display a warning about storage on the first launch --- .../kdt/pojavlaunch/PojavLoginActivity.java | 20 +++++++++++++++++-- .../src/main/res/values/strings.xml | 2 ++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 20a2fd3b8..bc3d60af1 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -17,7 +17,9 @@ import android.graphics.drawable.ColorDrawable; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.text.Html; import android.text.SpannableString; +import android.text.Spanned; import android.text.style.StyleSpan; import android.util.Base64; import android.util.Log; @@ -327,7 +329,7 @@ public class PojavLoginActivity extends BaseActivity } mkdirs(Tools.CTRLMAP_PATH); - + try { new CustomControls(this).save(Tools.CTRLDEF_FILE); @@ -347,13 +349,27 @@ public class PojavLoginActivity extends BaseActivity mLockSelectJRE.wait(); } } + if(Build.VERSION.SDK_INT > 28) runOnUiThread(this::showStorageDialog); LauncherPreferences.loadPreferences(getApplicationContext()); } catch(Throwable e){ Tools.showError(this, e); } } - + private void showStorageDialog() { + if(!firstLaunchPrefs.getBoolean("storageDialogShown",false)) { + AlertDialog.Builder bldr = new AlertDialog.Builder(this); + bldr.setTitle(R.string.storage_warning_title); + Spanned sp = Html.fromHtml(getString(R.string.storage_warning_text,BuildConfig.APPLICATION_ID)); + bldr.setMessage(sp); + bldr.setCancelable(false); + bldr.setPositiveButton(android.R.string.ok, (dialog, which)->{ + firstLaunchPrefs.edit().putBoolean("storageDialogShown",true).apply(); + dialog.dismiss(); + }); + bldr.show(); + } + } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); diff --git a/app_pojavlauncher/src/main/res/values/strings.xml b/app_pojavlauncher/src/main/res/values/strings.xml index 6f09695f2..8241232e9 100644 --- a/app_pojavlauncher/src/main/res/values/strings.xml +++ b/app_pojavlauncher/src/main/res/values/strings.xml @@ -241,4 +241,6 @@ Game directory JVM arguments Per-version settings + Storage changes + The new folder for Pojav files is Android/data/%s/files/ (also accessible using a storage provider in your file explorer).
If you need to copy your game files, please copy everything from the original folder at games/PojavLauncher manually.]]>