From b52973bd2f273cf4bca2c40f557318c290797ce8 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Sun, 20 Sep 2020 20:16:33 +0700 Subject: [PATCH] Fix crash on uninstall jre --- .../prefs/LauncherPreferenceFragment.java | 16 +++++++++++++--- .../prefs/UninstallJREDialogPreference.java | 1 + 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java b/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java index f194aea72..21b767610 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java +++ b/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java @@ -1,10 +1,11 @@ package net.kdt.pojavlaunch.prefs; import android.os.*; +import android.support.v4.app.*; +import android.support.v7.preference.*; import net.kdt.pojavlaunch.*; -import android.support.v7.preference.EditTextPreference; -import android.support.v7.preference.PreferenceFragmentCompat; -import android.support.v7.preference.SeekBarPreference; + +import net.kdt.pojavlaunch.R; public class LauncherPreferenceFragment extends PreferenceFragmentCompat { @@ -20,4 +21,13 @@ public class LauncherPreferenceFragment extends PreferenceFragmentCompat seek2.setMax(1000); seek2.setValue(500); } + + @Override + public void onDisplayPreferenceDialog(Preference preference) { + if (preference instanceof DialogPreference) { + DialogFragment dialogFragment = new DialogFragment(); + dialogFragment.setTargetFragment(this, 0); + dialogFragment.show(getFragmentManager(), null); + } else super.onDisplayPreferenceDialog(preference); + } } diff --git a/app/src/main/java/net/kdt/pojavlaunch/prefs/UninstallJREDialogPreference.java b/app/src/main/java/net/kdt/pojavlaunch/prefs/UninstallJREDialogPreference.java index a1923e2ab..1e63eb530 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/prefs/UninstallJREDialogPreference.java +++ b/app/src/main/java/net/kdt/pojavlaunch/prefs/UninstallJREDialogPreference.java @@ -17,6 +17,7 @@ public class UninstallJREDialogPreference extends DialogPreference implements Di public UninstallJREDialogPreference(Context ctx, AttributeSet attrs) { super(ctx, attrs); + setPersistent(false); setDialogMessage(R.string.mcl_setting_title_uninstalljre); setPositiveButtonText(android.R.string.ok); setNegativeButtonText(android.R.string.cancel);