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

366 lines
13 KiB
Java

package androidx.preference;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.os.Handler;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
import androidx.collection.SimpleArrayMap;
import androidx.core.content.res.TypedArrayUtils;
import androidx.preference.Preference;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public abstract class PreferenceGroup extends Preference {
private static final String TAG = "PreferenceGroup";
private boolean mAttachedToHierarchy;
private final Runnable mClearRecycleCacheRunnable;
private int mCurrentPreferenceOrder;
private final Handler mHandler;
public final SimpleArrayMap<String, Long> mIdRecycleCache;
private int mInitialExpandedChildrenCount;
private OnExpandButtonClickListener mOnExpandButtonClickListener;
private boolean mOrderingAsAdded;
private List<Preference> mPreferences;
/* renamed from: androidx.preference.PreferenceGroup$1 reason: invalid class name */
public class AnonymousClass1 implements Runnable {
public AnonymousClass1() {
}
@Override // java.lang.Runnable
public void run() {
synchronized (this) {
PreferenceGroup.this.mIdRecycleCache.clear();
}
}
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public interface OnExpandButtonClickListener {
void onExpandButtonClick();
}
public interface PreferencePositionCallback {
int getPreferenceAdapterPosition(Preference preference);
int getPreferenceAdapterPosition(String str);
}
public static class SavedState extends Preference.BaseSavedState {
public static final Parcelable.Creator<SavedState> CREATOR = new AnonymousClass1();
public int mInitialExpandedChildrenCount;
/* renamed from: androidx.preference.PreferenceGroup$SavedState$1 reason: invalid class name */
public static class AnonymousClass1 implements Parcelable.Creator<SavedState> {
@Override // android.os.Parcelable.Creator
public SavedState createFromParcel(Parcel parcel) {
return new SavedState(parcel);
}
@Override // android.os.Parcelable.Creator
public SavedState[] newArray(int i) {
return new SavedState[i];
}
}
public SavedState(Parcel parcel) {
super(parcel);
this.mInitialExpandedChildrenCount = parcel.readInt();
}
public SavedState(Parcelable parcelable, int i) {
super(parcelable);
this.mInitialExpandedChildrenCount = i;
}
@Override // android.view.AbsSavedState, android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
super.writeToParcel(parcel, i);
parcel.writeInt(this.mInitialExpandedChildrenCount);
}
}
public PreferenceGroup(Context context, AttributeSet attributeSet) {
this(context, attributeSet, 0);
}
public PreferenceGroup(Context context, AttributeSet attributeSet, int i) {
this(context, attributeSet, i, 0);
}
public PreferenceGroup(Context context, AttributeSet attributeSet, int i, int i2) {
super(context, attributeSet, i, i2);
this.mIdRecycleCache = new SimpleArrayMap<>();
this.mHandler = new Handler();
this.mOrderingAsAdded = true;
this.mCurrentPreferenceOrder = 0;
this.mAttachedToHierarchy = false;
this.mInitialExpandedChildrenCount = Integer.MAX_VALUE;
this.mOnExpandButtonClickListener = null;
this.mClearRecycleCacheRunnable = new AnonymousClass1();
this.mPreferences = new ArrayList();
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.PreferenceGroup, i, i2);
int i3 = R.styleable.PreferenceGroup_orderingFromXml;
this.mOrderingAsAdded = TypedArrayUtils.getBoolean(obtainStyledAttributes, i3, i3, true);
int i4 = R.styleable.PreferenceGroup_initialExpandedChildrenCount;
if (obtainStyledAttributes.hasValue(i4)) {
setInitialExpandedChildrenCount(TypedArrayUtils.getInt(obtainStyledAttributes, i4, i4, Integer.MAX_VALUE));
}
obtainStyledAttributes.recycle();
}
private boolean removePreferenceInt(Preference preference) {
boolean remove;
synchronized (this) {
preference.onPrepareForRemoval();
if (preference.getParent() == this) {
preference.assignParent(null);
}
remove = this.mPreferences.remove(preference);
if (remove) {
String key = preference.getKey();
if (key != null) {
this.mIdRecycleCache.put(key, Long.valueOf(preference.getId()));
this.mHandler.removeCallbacks(this.mClearRecycleCacheRunnable);
this.mHandler.post(this.mClearRecycleCacheRunnable);
}
if (this.mAttachedToHierarchy) {
preference.onDetached();
}
}
}
return remove;
}
public void addItemFromInflater(Preference preference) {
addPreference(preference);
}
public boolean addPreference(Preference preference) {
long j;
if (this.mPreferences.contains(preference)) {
return true;
}
if (preference.getKey() != null) {
PreferenceGroup preferenceGroup = this;
while (preferenceGroup.getParent() != null) {
preferenceGroup = preferenceGroup.getParent();
}
String key = preference.getKey();
if (preferenceGroup.findPreference(key) != null) {
Log.e(TAG, "Found duplicated key: \"" + key + "\". This can cause unintended behaviour, please use unique keys for every preference.");
}
}
if (preference.getOrder() == Integer.MAX_VALUE) {
if (this.mOrderingAsAdded) {
int i = this.mCurrentPreferenceOrder;
this.mCurrentPreferenceOrder = i + 1;
preference.setOrder(i);
}
if (preference instanceof PreferenceGroup) {
((PreferenceGroup) preference).setOrderingAsAdded(this.mOrderingAsAdded);
}
}
int binarySearch = Collections.binarySearch(this.mPreferences, preference);
if (binarySearch < 0) {
binarySearch = (binarySearch * -1) - 1;
}
if (!onPrepareAddPreference(preference)) {
return false;
}
synchronized (this) {
this.mPreferences.add(binarySearch, preference);
}
PreferenceManager preferenceManager = getPreferenceManager();
String key2 = preference.getKey();
if (key2 == null || !this.mIdRecycleCache.containsKey(key2)) {
j = preferenceManager.getNextId();
} else {
j = this.mIdRecycleCache.get(key2).longValue();
this.mIdRecycleCache.remove(key2);
}
preference.onAttachedToHierarchy(preferenceManager, j);
preference.assignParent(this);
if (this.mAttachedToHierarchy) {
preference.onAttached();
}
notifyHierarchyChanged();
return true;
}
@Override // androidx.preference.Preference
public void dispatchRestoreInstanceState(Bundle bundle) {
super.dispatchRestoreInstanceState(bundle);
int preferenceCount = getPreferenceCount();
for (int i = 0; i < preferenceCount; i++) {
getPreference(i).dispatchRestoreInstanceState(bundle);
}
}
@Override // androidx.preference.Preference
public void dispatchSaveInstanceState(Bundle bundle) {
super.dispatchSaveInstanceState(bundle);
int preferenceCount = getPreferenceCount();
for (int i = 0; i < preferenceCount; i++) {
getPreference(i).dispatchSaveInstanceState(bundle);
}
}
@Nullable
public <T extends Preference> T findPreference(@NonNull CharSequence charSequence) {
T t;
if (charSequence == null) {
throw new IllegalArgumentException("Key cannot be null");
} else if (TextUtils.equals(getKey(), charSequence)) {
return this;
} else {
int preferenceCount = getPreferenceCount();
for (int i = 0; i < preferenceCount; i++) {
T t2 = (T) getPreference(i);
if (TextUtils.equals(t2.getKey(), charSequence)) {
return t2;
}
if ((t2 instanceof PreferenceGroup) && (t = (T) ((PreferenceGroup) t2).findPreference(charSequence)) != null) {
return t;
}
}
return null;
}
}
public int getInitialExpandedChildrenCount() {
return this.mInitialExpandedChildrenCount;
}
@Nullable
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public OnExpandButtonClickListener getOnExpandButtonClickListener() {
return this.mOnExpandButtonClickListener;
}
public Preference getPreference(int i) {
return this.mPreferences.get(i);
}
public int getPreferenceCount() {
return this.mPreferences.size();
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public boolean isAttached() {
return this.mAttachedToHierarchy;
}
public boolean isOnSameScreenAsChildren() {
return true;
}
public boolean isOrderingAsAdded() {
return this.mOrderingAsAdded;
}
@Override // androidx.preference.Preference
public void notifyDependencyChange(boolean z2) {
super.notifyDependencyChange(z2);
int preferenceCount = getPreferenceCount();
for (int i = 0; i < preferenceCount; i++) {
getPreference(i).onParentChanged(this, z2);
}
}
@Override // androidx.preference.Preference
public void onAttached() {
super.onAttached();
this.mAttachedToHierarchy = true;
int preferenceCount = getPreferenceCount();
for (int i = 0; i < preferenceCount; i++) {
getPreference(i).onAttached();
}
}
@Override // androidx.preference.Preference
public void onDetached() {
super.onDetached();
this.mAttachedToHierarchy = false;
int preferenceCount = getPreferenceCount();
for (int i = 0; i < preferenceCount; i++) {
getPreference(i).onDetached();
}
}
public boolean onPrepareAddPreference(Preference preference) {
preference.onParentChanged(this, shouldDisableDependents());
return true;
}
@Override // androidx.preference.Preference
public void onRestoreInstanceState(Parcelable parcelable) {
if (parcelable == null || !parcelable.getClass().equals(SavedState.class)) {
super.onRestoreInstanceState(parcelable);
return;
}
SavedState savedState = (SavedState) parcelable;
this.mInitialExpandedChildrenCount = savedState.mInitialExpandedChildrenCount;
super.onRestoreInstanceState(savedState.getSuperState());
}
@Override // androidx.preference.Preference
public Parcelable onSaveInstanceState() {
return new SavedState(super.onSaveInstanceState(), this.mInitialExpandedChildrenCount);
}
public void removeAll() {
synchronized (this) {
List<Preference> list = this.mPreferences;
for (int size = list.size() - 1; size >= 0; size--) {
removePreferenceInt(list.get(0));
}
}
notifyHierarchyChanged();
}
public boolean removePreference(Preference preference) {
boolean removePreferenceInt = removePreferenceInt(preference);
notifyHierarchyChanged();
return removePreferenceInt;
}
public boolean removePreferenceRecursively(@NonNull CharSequence charSequence) {
Preference findPreference = findPreference(charSequence);
if (findPreference == null) {
return false;
}
return findPreference.getParent().removePreference(findPreference);
}
public void setInitialExpandedChildrenCount(int i) {
if (i != Integer.MAX_VALUE && !hasKey()) {
Log.e(TAG, getClass().getSimpleName() + " should have a key defined if it contains an expandable preference");
}
this.mInitialExpandedChildrenCount = i;
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public void setOnExpandButtonClickListener(@Nullable OnExpandButtonClickListener onExpandButtonClickListener) {
this.mOnExpandButtonClickListener = onExpandButtonClickListener;
}
public void setOrderingAsAdded(boolean z2) {
this.mOrderingAsAdded = z2;
}
public void sortPreferences() {
synchronized (this) {
Collections.sort(this.mPreferences);
}
}
}