mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-13 14:51:51 -04:00
Cleaanup[preference]: use onPreferenceClickListener instead of onPreferenceTreeClick
This commit is contained in:
parent
462bbc0e58
commit
109f37fa42
@ -22,8 +22,6 @@ import net.kdt.pojavlaunch.prefs.LauncherPreferences;
|
||||
*/
|
||||
public class LauncherPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
|
||||
private Preference mRequestNotificationPermissionPreference;
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
view.setBackgroundColor(Color.parseColor("#232323"));
|
||||
@ -33,12 +31,22 @@ public class LauncherPreferenceFragment extends PreferenceFragmentCompat impleme
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle b, String str) {
|
||||
addPreferencesFromResource(R.xml.pref_main);
|
||||
mRequestNotificationPermissionPreference = requirePreference("notification_permission_request");
|
||||
setupNotificationRequestPreference();
|
||||
}
|
||||
|
||||
private void setupNotificationRequestPreference() {
|
||||
Preference mRequestNotificationPermissionPreference = requirePreference("notification_permission_request");
|
||||
Activity activity = getActivity();
|
||||
mRequestNotificationPermissionPreference.setVisible(
|
||||
activity instanceof LauncherActivity &&
|
||||
!((LauncherActivity) activity).checkForNotificationPermission()
|
||||
);
|
||||
if(activity instanceof LauncherActivity) {
|
||||
LauncherActivity launcherActivity = (LauncherActivity)activity;
|
||||
mRequestNotificationPermissionPreference.setVisible(!launcherActivity.checkForNotificationPermission());
|
||||
mRequestNotificationPermissionPreference.setOnPreferenceClickListener(preference -> {
|
||||
launcherActivity.askForNotificationPermission(()->mRequestNotificationPermissionPreference.setVisible(false));
|
||||
return true;
|
||||
});
|
||||
}else{
|
||||
mRequestNotificationPermissionPreference.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -60,18 +68,6 @@ public class LauncherPreferenceFragment extends PreferenceFragmentCompat impleme
|
||||
LauncherPreferences.loadPreferences(getContext());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceTreeClick(@NonNull Preference preference) {
|
||||
Activity activity = getActivity();
|
||||
if(preference.equals(mRequestNotificationPermissionPreference) &&
|
||||
activity instanceof LauncherActivity) {
|
||||
((LauncherActivity)activity).askForNotificationPermission(()->
|
||||
mRequestNotificationPermissionPreference.setVisible(false)
|
||||
);
|
||||
}
|
||||
return super.onPreferenceTreeClick(preference);
|
||||
}
|
||||
|
||||
protected Preference requirePreference(CharSequence key) {
|
||||
Preference preference = findPreference(key);
|
||||
if(preference != null) return preference;
|
||||
|
@ -3,14 +3,11 @@ package net.kdt.pojavlaunch.prefs.screens;
|
||||
import static net.kdt.pojavlaunch.Architecture.is32BitsDevice;
|
||||
import static net.kdt.pojavlaunch.Tools.getTotalDeviceMemory;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.preference.EditTextPreference;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import net.kdt.pojavlaunch.R;
|
||||
import net.kdt.pojavlaunch.Tools;
|
||||
@ -21,7 +18,6 @@ import net.kdt.pojavlaunch.prefs.LauncherPreferences;
|
||||
|
||||
public class LauncherPreferenceJavaFragment extends LauncherPreferenceFragment {
|
||||
private MultiRTConfigDialog mDialogScreen;
|
||||
private Preference mMultiRTPreference;
|
||||
private final ActivityResultLauncher<Object> mVmInstallLauncher =
|
||||
registerForActivityResult(new OpenDocumentWithExtension("xz"), (data)->{
|
||||
if(data != null) Tools.installRuntimeFromUri(getContext(), data);
|
||||
@ -52,15 +48,10 @@ public class LauncherPreferenceJavaFragment extends LauncherPreferenceFragment {
|
||||
editJVMArgs.setOnBindEditTextListener(TextView::setSingleLine);
|
||||
}
|
||||
|
||||
mMultiRTPreference = findPreference("install_jre");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceTreeClick(@NonNull Preference preference) {
|
||||
if(preference.equals(mMultiRTPreference)) {
|
||||
requirePreference("install_jre").setOnPreferenceClickListener(preference->{
|
||||
openMultiRTDialog();
|
||||
}
|
||||
return super.onPreferenceTreeClick(preference);
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
private void openMultiRTDialog() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user