package androidx.preference; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.Handler; import android.text.TextUtils; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.RestrictTo; import androidx.appcompat.content.res.AppCompatResources; import androidx.core.view.ViewCompat; import androidx.preference.Preference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.RecyclerView; import java.util.ArrayList; import java.util.List; @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public class PreferenceGroupAdapter extends RecyclerView.Adapter implements Preference.OnPreferenceChangeInternalListener, PreferenceGroup.PreferencePositionCallback { private Handler mHandler; private PreferenceGroup mPreferenceGroup; private List mPreferenceResourceDescriptors; private List mPreferences; private Runnable mSyncRunnable = new AnonymousClass1(); private List mVisiblePreferences; /* renamed from: androidx.preference.PreferenceGroupAdapter$1 reason: invalid class name */ public class AnonymousClass1 implements Runnable { public AnonymousClass1() { } @Override // java.lang.Runnable public void run() { PreferenceGroupAdapter.this.updatePreferences(); } } /* renamed from: androidx.preference.PreferenceGroupAdapter$2 reason: invalid class name */ public class AnonymousClass2 extends DiffUtil.Callback { public final /* synthetic */ PreferenceManager.PreferenceComparisonCallback val$comparisonCallback; public final /* synthetic */ List val$oldVisibleList; public final /* synthetic */ List val$visiblePreferenceList; public AnonymousClass2(List list, List list2, PreferenceManager.PreferenceComparisonCallback preferenceComparisonCallback) { this.val$oldVisibleList = list; this.val$visiblePreferenceList = list2; this.val$comparisonCallback = preferenceComparisonCallback; } @Override // androidx.recyclerview.widget.DiffUtil.Callback public boolean areContentsTheSame(int i, int i2) { return this.val$comparisonCallback.arePreferenceContentsTheSame((Preference) this.val$oldVisibleList.get(i), (Preference) this.val$visiblePreferenceList.get(i2)); } @Override // androidx.recyclerview.widget.DiffUtil.Callback public boolean areItemsTheSame(int i, int i2) { return this.val$comparisonCallback.arePreferenceItemsTheSame((Preference) this.val$oldVisibleList.get(i), (Preference) this.val$visiblePreferenceList.get(i2)); } @Override // androidx.recyclerview.widget.DiffUtil.Callback public int getNewListSize() { return this.val$visiblePreferenceList.size(); } @Override // androidx.recyclerview.widget.DiffUtil.Callback public int getOldListSize() { return this.val$oldVisibleList.size(); } } /* renamed from: androidx.preference.PreferenceGroupAdapter$3 reason: invalid class name */ public class AnonymousClass3 implements Preference.OnPreferenceClickListener { public final /* synthetic */ PreferenceGroup val$group; public AnonymousClass3(PreferenceGroup preferenceGroup) { this.val$group = preferenceGroup; } @Override // androidx.preference.Preference.OnPreferenceClickListener public boolean onPreferenceClick(Preference preference) { this.val$group.setInitialExpandedChildrenCount(Integer.MAX_VALUE); PreferenceGroupAdapter.this.onPreferenceHierarchyChange(preference); PreferenceGroup.OnExpandButtonClickListener onExpandButtonClickListener = this.val$group.getOnExpandButtonClickListener(); if (onExpandButtonClickListener == null) { return true; } onExpandButtonClickListener.onExpandButtonClick(); return true; } } public static class PreferenceResourceDescriptor { public String mClassName; public int mLayoutResId; public int mWidgetLayoutResId; public PreferenceResourceDescriptor(Preference preference) { this.mClassName = preference.getClass().getName(); this.mLayoutResId = preference.getLayoutResource(); this.mWidgetLayoutResId = preference.getWidgetLayoutResource(); } public boolean equals(Object obj) { if (!(obj instanceof PreferenceResourceDescriptor)) { return false; } PreferenceResourceDescriptor preferenceResourceDescriptor = (PreferenceResourceDescriptor) obj; return this.mLayoutResId == preferenceResourceDescriptor.mLayoutResId && this.mWidgetLayoutResId == preferenceResourceDescriptor.mWidgetLayoutResId && TextUtils.equals(this.mClassName, preferenceResourceDescriptor.mClassName); } public int hashCode() { return this.mClassName.hashCode() + ((((527 + this.mLayoutResId) * 31) + this.mWidgetLayoutResId) * 31); } } public PreferenceGroupAdapter(PreferenceGroup preferenceGroup) { this.mPreferenceGroup = preferenceGroup; this.mHandler = new Handler(); this.mPreferenceGroup.setOnPreferenceChangeInternalListener(this); this.mPreferences = new ArrayList(); this.mVisiblePreferences = new ArrayList(); this.mPreferenceResourceDescriptors = new ArrayList(); PreferenceGroup preferenceGroup2 = this.mPreferenceGroup; if (preferenceGroup2 instanceof PreferenceScreen) { setHasStableIds(((PreferenceScreen) preferenceGroup2).shouldUseGeneratedIds()); } else { setHasStableIds(true); } updatePreferences(); } private ExpandButton createExpandButton(PreferenceGroup preferenceGroup, List list) { ExpandButton expandButton = new ExpandButton(preferenceGroup.getContext(), list, preferenceGroup.getId()); expandButton.setOnPreferenceClickListener(new AnonymousClass3(preferenceGroup)); return expandButton; } private List createVisiblePreferencesList(PreferenceGroup preferenceGroup) { ArrayList arrayList = new ArrayList(); ArrayList arrayList2 = new ArrayList(); int preferenceCount = preferenceGroup.getPreferenceCount(); int i = 0; for (int i2 = 0; i2 < preferenceCount; i2++) { Preference preference = preferenceGroup.getPreference(i2); if (preference.isVisible()) { if (!isGroupExpandable(preferenceGroup) || i < preferenceGroup.getInitialExpandedChildrenCount()) { arrayList.add(preference); } else { arrayList2.add(preference); } if (!(preference instanceof PreferenceGroup)) { i++; } else { PreferenceGroup preferenceGroup2 = (PreferenceGroup) preference; if (!preferenceGroup2.isOnSameScreenAsChildren()) { continue; } else if (!isGroupExpandable(preferenceGroup) || !isGroupExpandable(preferenceGroup2)) { for (Preference preference2 : createVisiblePreferencesList(preferenceGroup2)) { if (!isGroupExpandable(preferenceGroup) || i < preferenceGroup.getInitialExpandedChildrenCount()) { arrayList.add(preference2); } else { arrayList2.add(preference2); } i++; } } else { throw new IllegalStateException("Nesting an expandable group inside of another expandable group is not supported!"); } } } } if (isGroupExpandable(preferenceGroup) && i > preferenceGroup.getInitialExpandedChildrenCount()) { arrayList.add(createExpandButton(preferenceGroup, arrayList2)); } return arrayList; } private void flattenPreferenceGroup(List list, PreferenceGroup preferenceGroup) { preferenceGroup.sortPreferences(); int preferenceCount = preferenceGroup.getPreferenceCount(); for (int i = 0; i < preferenceCount; i++) { Preference preference = preferenceGroup.getPreference(i); list.add(preference); PreferenceResourceDescriptor preferenceResourceDescriptor = new PreferenceResourceDescriptor(preference); if (!this.mPreferenceResourceDescriptors.contains(preferenceResourceDescriptor)) { this.mPreferenceResourceDescriptors.add(preferenceResourceDescriptor); } if (preference instanceof PreferenceGroup) { PreferenceGroup preferenceGroup2 = (PreferenceGroup) preference; if (preferenceGroup2.isOnSameScreenAsChildren()) { flattenPreferenceGroup(list, preferenceGroup2); } } preference.setOnPreferenceChangeInternalListener(this); } } private boolean isGroupExpandable(PreferenceGroup preferenceGroup) { return preferenceGroup.getInitialExpandedChildrenCount() != Integer.MAX_VALUE; } public Preference getItem(int i) { if (i < 0 || i >= getItemCount()) { return null; } return this.mVisiblePreferences.get(i); } @Override // androidx.recyclerview.widget.RecyclerView.Adapter public int getItemCount() { return this.mVisiblePreferences.size(); } @Override // androidx.recyclerview.widget.RecyclerView.Adapter public long getItemId(int i) { if (!hasStableIds()) { return -1; } return getItem(i).getId(); } @Override // androidx.recyclerview.widget.RecyclerView.Adapter public int getItemViewType(int i) { PreferenceResourceDescriptor preferenceResourceDescriptor = new PreferenceResourceDescriptor(getItem(i)); int indexOf = this.mPreferenceResourceDescriptors.indexOf(preferenceResourceDescriptor); if (indexOf != -1) { return indexOf; } int size = this.mPreferenceResourceDescriptors.size(); this.mPreferenceResourceDescriptors.add(preferenceResourceDescriptor); return size; } @Override // androidx.preference.PreferenceGroup.PreferencePositionCallback public int getPreferenceAdapterPosition(Preference preference) { int size = this.mVisiblePreferences.size(); for (int i = 0; i < size; i++) { Preference preference2 = this.mVisiblePreferences.get(i); if (preference2 != null && preference2.equals(preference)) { return i; } } return -1; } @Override // androidx.preference.PreferenceGroup.PreferencePositionCallback public int getPreferenceAdapterPosition(String str) { int size = this.mVisiblePreferences.size(); for (int i = 0; i < size; i++) { if (TextUtils.equals(str, this.mVisiblePreferences.get(i).getKey())) { return i; } } return -1; } public void onBindViewHolder(@NonNull PreferenceViewHolder preferenceViewHolder, int i) { getItem(i).onBindViewHolder(preferenceViewHolder); } @Override // androidx.recyclerview.widget.RecyclerView.Adapter @NonNull public PreferenceViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { PreferenceResourceDescriptor preferenceResourceDescriptor = this.mPreferenceResourceDescriptors.get(i); LayoutInflater from = LayoutInflater.from(viewGroup.getContext()); TypedArray obtainStyledAttributes = viewGroup.getContext().obtainStyledAttributes((AttributeSet) null, R.styleable.BackgroundStyle); Drawable drawable = obtainStyledAttributes.getDrawable(R.styleable.BackgroundStyle_android_selectableItemBackground); if (drawable == null) { drawable = AppCompatResources.getDrawable(viewGroup.getContext(), 17301602); } obtainStyledAttributes.recycle(); View inflate = from.inflate(preferenceResourceDescriptor.mLayoutResId, viewGroup, false); if (inflate.getBackground() == null) { ViewCompat.setBackground(inflate, drawable); } ViewGroup viewGroup2 = (ViewGroup) inflate.findViewById(16908312); if (viewGroup2 != null) { int i2 = preferenceResourceDescriptor.mWidgetLayoutResId; if (i2 != 0) { from.inflate(i2, viewGroup2); } else { viewGroup2.setVisibility(8); } } return new PreferenceViewHolder(inflate); } @Override // androidx.preference.Preference.OnPreferenceChangeInternalListener public void onPreferenceChange(Preference preference) { int indexOf = this.mVisiblePreferences.indexOf(preference); if (indexOf != -1) { notifyItemChanged(indexOf, preference); } } @Override // androidx.preference.Preference.OnPreferenceChangeInternalListener public void onPreferenceHierarchyChange(Preference preference) { this.mHandler.removeCallbacks(this.mSyncRunnable); this.mHandler.post(this.mSyncRunnable); } @Override // androidx.preference.Preference.OnPreferenceChangeInternalListener public void onPreferenceVisibilityChange(Preference preference) { onPreferenceHierarchyChange(preference); } public void updatePreferences() { for (Preference preference : this.mPreferences) { preference.setOnPreferenceChangeInternalListener(null); } ArrayList arrayList = new ArrayList(this.mPreferences.size()); this.mPreferences = arrayList; flattenPreferenceGroup(arrayList, this.mPreferenceGroup); List list = this.mVisiblePreferences; List createVisiblePreferencesList = createVisiblePreferencesList(this.mPreferenceGroup); this.mVisiblePreferences = createVisiblePreferencesList; PreferenceManager preferenceManager = this.mPreferenceGroup.getPreferenceManager(); if (preferenceManager == null || preferenceManager.getPreferenceComparisonCallback() == null) { notifyDataSetChanged(); } else { DiffUtil.calculateDiff(new AnonymousClass2(list, createVisiblePreferencesList, preferenceManager.getPreferenceComparisonCallback())).dispatchUpdatesTo(this); } for (Preference preference2 : this.mPreferences) { preference2.clearWasDetached(); } } }