mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-02 09:33:06 +02:00
062457f1aa
Fixes #1757.
58 lines
2.0 KiB
Java
58 lines
2.0 KiB
Java
package de.dennisguse.opentracks.settings;
|
|
|
|
import android.content.Context;
|
|
import android.os.Bundle;
|
|
import android.util.AttributeSet;
|
|
import android.widget.Toast;
|
|
|
|
import androidx.fragment.app.FragmentActivity;
|
|
import androidx.preference.DialogPreference;
|
|
import androidx.preference.PreferenceDialogFragmentCompat;
|
|
|
|
import de.dennisguse.opentracks.R;
|
|
|
|
public class ResetDialogPreference extends DialogPreference {
|
|
|
|
public ResetDialogPreference(Context context, AttributeSet attrs) {
|
|
super(context, attrs);
|
|
}
|
|
|
|
interface ResetCallback {
|
|
void onReset();
|
|
}
|
|
|
|
public static class ResetPreferenceDialog extends PreferenceDialogFragmentCompat {
|
|
|
|
static PreferenceDialogFragmentCompat newInstance(String preferenceKey) {
|
|
ResetPreferenceDialog dialog = new ResetPreferenceDialog();
|
|
final Bundle bundle = new Bundle(1);
|
|
bundle.putString(PreferenceDialogFragmentCompat.ARG_KEY, preferenceKey);
|
|
dialog.setArguments(bundle);
|
|
|
|
return dialog;
|
|
}
|
|
|
|
@Override
|
|
public void onDialogClosed(boolean positiveResult) {
|
|
if (!positiveResult) {
|
|
return;
|
|
}
|
|
|
|
FragmentActivity activity = getActivity();
|
|
|
|
String preferenceKey = getArguments().getString(PreferenceDialogFragmentCompat.ARG_KEY);
|
|
if (preferenceKey.equals(getString(R.string.settings_reset_key))) {
|
|
PreferencesUtils.resetPreferences(activity, true);
|
|
Toast.makeText(activity, R.string.settings_reset_done, Toast.LENGTH_SHORT).show();
|
|
} else if (preferenceKey.equals(getString(R.string.settings_layout_reset_key))) {
|
|
PreferencesUtils.resetCustomLayoutPreferences();
|
|
Toast.makeText(activity, R.string.settings_layout_reset_done, Toast.LENGTH_SHORT).show();
|
|
}
|
|
|
|
if (activity instanceof ResetCallback resetCallback) {
|
|
resetCallback.onReset();
|
|
}
|
|
}
|
|
}
|
|
}
|