discord-jadx/app/src/main/java/androidx/preference/PreferenceManager.java

287 lines
11 KiB
Java

package androidx.preference;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
import androidx.core.content.ContextCompat;
public class PreferenceManager {
public static final String KEY_HAS_SET_DEFAULT_VALUES = "_has_set_default_values";
private static final int STORAGE_DEFAULT = 0;
private static final int STORAGE_DEVICE_PROTECTED = 1;
private Context mContext;
@Nullable
private SharedPreferences.Editor mEditor;
private long mNextId = 0;
private boolean mNoCommit;
private OnDisplayPreferenceDialogListener mOnDisplayPreferenceDialogListener;
private OnNavigateToScreenListener mOnNavigateToScreenListener;
private OnPreferenceTreeClickListener mOnPreferenceTreeClickListener;
private PreferenceComparisonCallback mPreferenceComparisonCallback;
@Nullable
private PreferenceDataStore mPreferenceDataStore;
private PreferenceScreen mPreferenceScreen;
@Nullable
private SharedPreferences mSharedPreferences;
private int mSharedPreferencesMode;
private String mSharedPreferencesName;
private int mStorage = 0;
public interface OnDisplayPreferenceDialogListener {
void onDisplayPreferenceDialog(Preference preference);
}
public interface OnNavigateToScreenListener {
void onNavigateToScreen(PreferenceScreen preferenceScreen);
}
public interface OnPreferenceTreeClickListener {
boolean onPreferenceTreeClick(Preference preference);
}
public static abstract class PreferenceComparisonCallback {
public abstract boolean arePreferenceContentsTheSame(Preference preference, Preference preference2);
public abstract boolean arePreferenceItemsTheSame(Preference preference, Preference preference2);
}
public static class SimplePreferenceComparisonCallback extends PreferenceComparisonCallback {
@Override // androidx.preference.PreferenceManager.PreferenceComparisonCallback
public boolean arePreferenceContentsTheSame(Preference preference, Preference preference2) {
if (preference.getClass() != preference2.getClass()) {
return false;
}
if ((preference == preference2 && preference.wasDetached()) || !TextUtils.equals(preference.getTitle(), preference2.getTitle()) || !TextUtils.equals(preference.getSummary(), preference2.getSummary())) {
return false;
}
Drawable icon = preference.getIcon();
Drawable icon2 = preference2.getIcon();
if ((icon != icon2 && (icon == null || !icon.equals(icon2))) || preference.isEnabled() != preference2.isEnabled() || preference.isSelectable() != preference2.isSelectable()) {
return false;
}
if (!(preference instanceof TwoStatePreference) || ((TwoStatePreference) preference).isChecked() == ((TwoStatePreference) preference2).isChecked()) {
return !(preference instanceof DropDownPreference) || preference == preference2;
}
return false;
}
@Override // androidx.preference.PreferenceManager.PreferenceComparisonCallback
public boolean arePreferenceItemsTheSame(Preference preference, Preference preference2) {
return preference.getId() == preference2.getId();
}
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public PreferenceManager(Context context) {
this.mContext = context;
setSharedPreferencesName(getDefaultSharedPreferencesName(context));
}
public static SharedPreferences getDefaultSharedPreferences(Context context) {
return context.getSharedPreferences(getDefaultSharedPreferencesName(context), getDefaultSharedPreferencesMode());
}
private static int getDefaultSharedPreferencesMode() {
return 0;
}
private static String getDefaultSharedPreferencesName(Context context) {
return context.getPackageName() + "_preferences";
}
public static void setDefaultValues(Context context, int i, boolean z2) {
setDefaultValues(context, getDefaultSharedPreferencesName(context), getDefaultSharedPreferencesMode(), i, z2);
}
public static void setDefaultValues(Context context, String str, int i, int i2, boolean z2) {
SharedPreferences sharedPreferences = context.getSharedPreferences(KEY_HAS_SET_DEFAULT_VALUES, 0);
if (z2 || !sharedPreferences.getBoolean(KEY_HAS_SET_DEFAULT_VALUES, false)) {
PreferenceManager preferenceManager = new PreferenceManager(context);
preferenceManager.setSharedPreferencesName(str);
preferenceManager.setSharedPreferencesMode(i);
preferenceManager.inflateFromResource(context, i2, null);
sharedPreferences.edit().putBoolean(KEY_HAS_SET_DEFAULT_VALUES, true).apply();
}
}
private void setNoCommit(boolean z2) {
SharedPreferences.Editor editor;
if (!z2 && (editor = this.mEditor) != null) {
editor.apply();
}
this.mNoCommit = z2;
}
public PreferenceScreen createPreferenceScreen(Context context) {
PreferenceScreen preferenceScreen = new PreferenceScreen(context, null);
preferenceScreen.onAttachedToHierarchy(this);
return preferenceScreen;
}
@Nullable
public <T extends Preference> T findPreference(@NonNull CharSequence charSequence) {
PreferenceScreen preferenceScreen = this.mPreferenceScreen;
if (preferenceScreen == null) {
return null;
}
return (T) preferenceScreen.findPreference(charSequence);
}
public Context getContext() {
return this.mContext;
}
public SharedPreferences.Editor getEditor() {
if (this.mPreferenceDataStore != null) {
return null;
}
if (!this.mNoCommit) {
return getSharedPreferences().edit();
}
if (this.mEditor == null) {
this.mEditor = getSharedPreferences().edit();
}
return this.mEditor;
}
public long getNextId() {
long j;
synchronized (this) {
j = this.mNextId;
this.mNextId = 1 + j;
}
return j;
}
public OnDisplayPreferenceDialogListener getOnDisplayPreferenceDialogListener() {
return this.mOnDisplayPreferenceDialogListener;
}
public OnNavigateToScreenListener getOnNavigateToScreenListener() {
return this.mOnNavigateToScreenListener;
}
public OnPreferenceTreeClickListener getOnPreferenceTreeClickListener() {
return this.mOnPreferenceTreeClickListener;
}
public PreferenceComparisonCallback getPreferenceComparisonCallback() {
return this.mPreferenceComparisonCallback;
}
@Nullable
public PreferenceDataStore getPreferenceDataStore() {
return this.mPreferenceDataStore;
}
public PreferenceScreen getPreferenceScreen() {
return this.mPreferenceScreen;
}
public SharedPreferences getSharedPreferences() {
if (getPreferenceDataStore() != null) {
return null;
}
if (this.mSharedPreferences == null) {
this.mSharedPreferences = (this.mStorage != 1 ? this.mContext : ContextCompat.createDeviceProtectedStorageContext(this.mContext)).getSharedPreferences(this.mSharedPreferencesName, this.mSharedPreferencesMode);
}
return this.mSharedPreferences;
}
public int getSharedPreferencesMode() {
return this.mSharedPreferencesMode;
}
public String getSharedPreferencesName() {
return this.mSharedPreferencesName;
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public PreferenceScreen inflateFromResource(Context context, int i, PreferenceScreen preferenceScreen) {
setNoCommit(true);
PreferenceScreen preferenceScreen2 = (PreferenceScreen) new PreferenceInflater(context, this).inflate(i, preferenceScreen);
preferenceScreen2.onAttachedToHierarchy(this);
setNoCommit(false);
return preferenceScreen2;
}
public boolean isStorageDefault() {
return Build.VERSION.SDK_INT < 24 || this.mStorage == 0;
}
public boolean isStorageDeviceProtected() {
return Build.VERSION.SDK_INT >= 24 && this.mStorage == 1;
}
public void setOnDisplayPreferenceDialogListener(OnDisplayPreferenceDialogListener onDisplayPreferenceDialogListener) {
this.mOnDisplayPreferenceDialogListener = onDisplayPreferenceDialogListener;
}
public void setOnNavigateToScreenListener(OnNavigateToScreenListener onNavigateToScreenListener) {
this.mOnNavigateToScreenListener = onNavigateToScreenListener;
}
public void setOnPreferenceTreeClickListener(OnPreferenceTreeClickListener onPreferenceTreeClickListener) {
this.mOnPreferenceTreeClickListener = onPreferenceTreeClickListener;
}
public void setPreferenceComparisonCallback(PreferenceComparisonCallback preferenceComparisonCallback) {
this.mPreferenceComparisonCallback = preferenceComparisonCallback;
}
public void setPreferenceDataStore(PreferenceDataStore preferenceDataStore) {
this.mPreferenceDataStore = preferenceDataStore;
}
public boolean setPreferences(PreferenceScreen preferenceScreen) {
PreferenceScreen preferenceScreen2 = this.mPreferenceScreen;
if (preferenceScreen == preferenceScreen2) {
return false;
}
if (preferenceScreen2 != null) {
preferenceScreen2.onDetached();
}
this.mPreferenceScreen = preferenceScreen;
return true;
}
public void setSharedPreferencesMode(int i) {
this.mSharedPreferencesMode = i;
this.mSharedPreferences = null;
}
public void setSharedPreferencesName(String str) {
this.mSharedPreferencesName = str;
this.mSharedPreferences = null;
}
public void setStorageDefault() {
if (Build.VERSION.SDK_INT >= 24) {
this.mStorage = 0;
this.mSharedPreferences = null;
}
}
public void setStorageDeviceProtected() {
if (Build.VERSION.SDK_INT >= 24) {
this.mStorage = 1;
this.mSharedPreferences = null;
}
}
public boolean shouldCommit() {
return !this.mNoCommit;
}
public void showDialog(Preference preference) {
OnDisplayPreferenceDialogListener onDisplayPreferenceDialogListener = this.mOnDisplayPreferenceDialogListener;
if (onDisplayPreferenceDialogListener != null) {
onDisplayPreferenceDialogListener.onDisplayPreferenceDialog(preference);
}
}
}