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