package androidx.preference; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RestrictTo; import androidx.annotation.XmlRes; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.preference.DialogPreference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import c.d.b.a.a; public abstract class PreferenceFragmentCompat extends Fragment implements PreferenceManager.OnPreferenceTreeClickListener, PreferenceManager.OnDisplayPreferenceDialogListener, PreferenceManager.OnNavigateToScreenListener, DialogPreference.TargetFragment { public static final String ARG_PREFERENCE_ROOT = "androidx.preference.PreferenceFragmentCompat.PREFERENCE_ROOT"; private static final String DIALOG_FRAGMENT_TAG = "androidx.preference.PreferenceFragment.DIALOG"; private static final int MSG_BIND_PREFERENCES = 1; private static final String PREFERENCES_TAG = "android:preferences"; private static final String TAG = "PreferenceFragment"; private final DividerDecoration mDividerDecoration = new DividerDecoration(); private Handler mHandler = new AnonymousClass1(); private boolean mHavePrefs; private boolean mInitDone; private int mLayoutResId = R.layout.preference_list_fragment; public RecyclerView mList; private PreferenceManager mPreferenceManager; private final Runnable mRequestFocus = new AnonymousClass2(); private Runnable mSelectPreferenceRunnable; /* renamed from: androidx.preference.PreferenceFragmentCompat$1 reason: invalid class name */ public class AnonymousClass1 extends Handler { public AnonymousClass1() { } @Override // android.os.Handler public void handleMessage(Message message) { if (message.what == 1) { PreferenceFragmentCompat.this.bindPreferences(); } } } /* renamed from: androidx.preference.PreferenceFragmentCompat$2 reason: invalid class name */ public class AnonymousClass2 implements Runnable { public AnonymousClass2() { } @Override // java.lang.Runnable public void run() { RecyclerView recyclerView = PreferenceFragmentCompat.this.mList; recyclerView.focusableViewAvailable(recyclerView); } } /* renamed from: androidx.preference.PreferenceFragmentCompat$3 reason: invalid class name */ public class AnonymousClass3 implements Runnable { public final /* synthetic */ String val$key; public final /* synthetic */ Preference val$preference; public AnonymousClass3(Preference preference, String str) { this.val$preference = preference; this.val$key = str; } @Override // java.lang.Runnable public void run() { RecyclerView.Adapter adapter = PreferenceFragmentCompat.this.mList.getAdapter(); if (adapter instanceof PreferenceGroup.PreferencePositionCallback) { Preference preference = this.val$preference; int preferenceAdapterPosition = preference != null ? ((PreferenceGroup.PreferencePositionCallback) adapter).getPreferenceAdapterPosition(preference) : ((PreferenceGroup.PreferencePositionCallback) adapter).getPreferenceAdapterPosition(this.val$key); if (preferenceAdapterPosition != -1) { PreferenceFragmentCompat.this.mList.scrollToPosition(preferenceAdapterPosition); } else { adapter.registerAdapterDataObserver(new ScrollToPreferenceObserver(adapter, PreferenceFragmentCompat.this.mList, this.val$preference, this.val$key)); } } else if (adapter != null) { throw new IllegalStateException("Adapter must implement PreferencePositionCallback"); } } } public class DividerDecoration extends RecyclerView.ItemDecoration { private boolean mAllowDividerAfterLastItem = true; private Drawable mDivider; private int mDividerHeight; public DividerDecoration() { } private boolean shouldDrawDividerBelow(View view, RecyclerView recyclerView) { RecyclerView.ViewHolder childViewHolder = recyclerView.getChildViewHolder(view); boolean z2 = false; if (!((childViewHolder instanceof PreferenceViewHolder) && ((PreferenceViewHolder) childViewHolder).isDividerAllowedBelow())) { return false; } boolean z3 = this.mAllowDividerAfterLastItem; int indexOfChild = recyclerView.indexOfChild(view); if (indexOfChild >= recyclerView.getChildCount() - 1) { return z3; } RecyclerView.ViewHolder childViewHolder2 = recyclerView.getChildViewHolder(recyclerView.getChildAt(indexOfChild + 1)); if ((childViewHolder2 instanceof PreferenceViewHolder) && ((PreferenceViewHolder) childViewHolder2).isDividerAllowedAbove()) { z2 = true; } return z2; } @Override // androidx.recyclerview.widget.RecyclerView.ItemDecoration public void getItemOffsets(Rect rect, View view, RecyclerView recyclerView, RecyclerView.State state) { if (shouldDrawDividerBelow(view, recyclerView)) { rect.bottom = this.mDividerHeight; } } @Override // androidx.recyclerview.widget.RecyclerView.ItemDecoration public void onDrawOver(Canvas canvas, RecyclerView recyclerView, RecyclerView.State state) { if (this.mDivider != null) { int childCount = recyclerView.getChildCount(); int width = recyclerView.getWidth(); for (int i = 0; i < childCount; i++) { View childAt = recyclerView.getChildAt(i); if (shouldDrawDividerBelow(childAt, recyclerView)) { int height = childAt.getHeight() + ((int) childAt.getY()); this.mDivider.setBounds(0, height, width, this.mDividerHeight + height); this.mDivider.draw(canvas); } } } } public void setAllowDividerAfterLastItem(boolean z2) { this.mAllowDividerAfterLastItem = z2; } public void setDivider(Drawable drawable) { if (drawable != null) { this.mDividerHeight = drawable.getIntrinsicHeight(); } else { this.mDividerHeight = 0; } this.mDivider = drawable; PreferenceFragmentCompat.this.mList.invalidateItemDecorations(); } public void setDividerHeight(int i) { this.mDividerHeight = i; PreferenceFragmentCompat.this.mList.invalidateItemDecorations(); } } public interface OnPreferenceDisplayDialogCallback { boolean onPreferenceDisplayDialog(@NonNull PreferenceFragmentCompat preferenceFragmentCompat, Preference preference); } public interface OnPreferenceStartFragmentCallback { boolean onPreferenceStartFragment(PreferenceFragmentCompat preferenceFragmentCompat, Preference preference); } public interface OnPreferenceStartScreenCallback { boolean onPreferenceStartScreen(PreferenceFragmentCompat preferenceFragmentCompat, PreferenceScreen preferenceScreen); } public static class ScrollToPreferenceObserver extends RecyclerView.AdapterDataObserver { private final RecyclerView.Adapter mAdapter; private final String mKey; private final RecyclerView mList; private final Preference mPreference; public ScrollToPreferenceObserver(RecyclerView.Adapter adapter, RecyclerView recyclerView, Preference preference, String str) { this.mAdapter = adapter; this.mList = recyclerView; this.mPreference = preference; this.mKey = str; } private void scrollToPreference() { this.mAdapter.unregisterAdapterDataObserver(this); Preference preference = this.mPreference; int preferenceAdapterPosition = preference != null ? ((PreferenceGroup.PreferencePositionCallback) this.mAdapter).getPreferenceAdapterPosition(preference) : ((PreferenceGroup.PreferencePositionCallback) this.mAdapter).getPreferenceAdapterPosition(this.mKey); if (preferenceAdapterPosition != -1) { this.mList.scrollToPosition(preferenceAdapterPosition); } } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onChanged() { scrollToPreference(); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeChanged(int i, int i2) { scrollToPreference(); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeChanged(int i, int i2, Object obj) { scrollToPreference(); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeInserted(int i, int i2) { scrollToPreference(); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeMoved(int i, int i2, int i3) { scrollToPreference(); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeRemoved(int i, int i2) { scrollToPreference(); } } private void postBindPreferences() { if (!this.mHandler.hasMessages(1)) { this.mHandler.obtainMessage(1).sendToTarget(); } } private void requirePreferenceManager() { if (this.mPreferenceManager == null) { throw new RuntimeException("This should be called after super.onCreate."); } } private void scrollToPreferenceInternal(Preference preference, String str) { AnonymousClass3 r0 = new AnonymousClass3(preference, str); if (this.mList == null) { this.mSelectPreferenceRunnable = r0; } else { r0.run(); } } private void unbindPreferences() { getListView().setAdapter(null); PreferenceScreen preferenceScreen = getPreferenceScreen(); if (preferenceScreen != null) { preferenceScreen.onDetached(); } onUnbindPreferences(); } public void addPreferencesFromResource(@XmlRes int i) { requirePreferenceManager(); setPreferenceScreen(this.mPreferenceManager.inflateFromResource(getContext(), i, getPreferenceScreen())); } public void bindPreferences() { PreferenceScreen preferenceScreen = getPreferenceScreen(); if (preferenceScreen != null) { getListView().setAdapter(onCreateAdapter(preferenceScreen)); preferenceScreen.onAttached(); } onBindPreferences(); } @Override // androidx.preference.DialogPreference.TargetFragment @Nullable public T findPreference(@NonNull CharSequence charSequence) { PreferenceManager preferenceManager = this.mPreferenceManager; if (preferenceManager == null) { return null; } return (T) preferenceManager.findPreference(charSequence); } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public Fragment getCallbackFragment() { return null; } public final RecyclerView getListView() { return this.mList; } public PreferenceManager getPreferenceManager() { return this.mPreferenceManager; } public PreferenceScreen getPreferenceScreen() { return this.mPreferenceManager.getPreferenceScreen(); } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public void onBindPreferences() { } @Override // androidx.fragment.app.Fragment public void onCreate(@Nullable Bundle bundle) { super.onCreate(bundle); TypedValue typedValue = new TypedValue(); getActivity().getTheme().resolveAttribute(R.attr.preferenceTheme, typedValue, true); int i = typedValue.resourceId; if (i == 0) { i = R.style.PreferenceThemeOverlay; } getActivity().getTheme().applyStyle(i, false); PreferenceManager preferenceManager = new PreferenceManager(getContext()); this.mPreferenceManager = preferenceManager; preferenceManager.setOnNavigateToScreenListener(this); onCreatePreferences(bundle, getArguments() != null ? getArguments().getString("androidx.preference.PreferenceFragmentCompat.PREFERENCE_ROOT") : null); } public RecyclerView.Adapter onCreateAdapter(PreferenceScreen preferenceScreen) { return new PreferenceGroupAdapter(preferenceScreen); } public RecyclerView.LayoutManager onCreateLayoutManager() { return new LinearLayoutManager(getContext()); } public abstract void onCreatePreferences(Bundle bundle, String str); public RecyclerView onCreateRecyclerView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) { RecyclerView recyclerView; if (getContext().getPackageManager().hasSystemFeature("android.hardware.type.automotive") && (recyclerView = (RecyclerView) viewGroup.findViewById(R.id.recycler_view)) != null) { return recyclerView; } RecyclerView recyclerView2 = (RecyclerView) layoutInflater.inflate(R.layout.preference_recyclerview, viewGroup, false); recyclerView2.setLayoutManager(onCreateLayoutManager()); recyclerView2.setAccessibilityDelegateCompat(new PreferenceRecyclerViewAccessibilityDelegate(recyclerView2)); return recyclerView2; } @Override // androidx.fragment.app.Fragment public View onCreateView(@NonNull LayoutInflater layoutInflater, @Nullable ViewGroup viewGroup, @Nullable Bundle bundle) { TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(null, R.styleable.PreferenceFragmentCompat, R.attr.preferenceFragmentCompatStyle, 0); this.mLayoutResId = obtainStyledAttributes.getResourceId(R.styleable.PreferenceFragmentCompat_android_layout, this.mLayoutResId); Drawable drawable = obtainStyledAttributes.getDrawable(R.styleable.PreferenceFragmentCompat_android_divider); int dimensionPixelSize = obtainStyledAttributes.getDimensionPixelSize(R.styleable.PreferenceFragmentCompat_android_dividerHeight, -1); boolean z2 = obtainStyledAttributes.getBoolean(R.styleable.PreferenceFragmentCompat_allowDividerAfterLastItem, true); obtainStyledAttributes.recycle(); LayoutInflater cloneInContext = layoutInflater.cloneInContext(getContext()); View inflate = cloneInContext.inflate(this.mLayoutResId, viewGroup, false); View findViewById = inflate.findViewById(16908351); if (findViewById instanceof ViewGroup) { ViewGroup viewGroup2 = (ViewGroup) findViewById; RecyclerView onCreateRecyclerView = onCreateRecyclerView(cloneInContext, viewGroup2, bundle); if (onCreateRecyclerView != null) { this.mList = onCreateRecyclerView; onCreateRecyclerView.addItemDecoration(this.mDividerDecoration); setDivider(drawable); if (dimensionPixelSize != -1) { setDividerHeight(dimensionPixelSize); } this.mDividerDecoration.setAllowDividerAfterLastItem(z2); if (this.mList.getParent() == null) { viewGroup2.addView(this.mList); } this.mHandler.post(this.mRequestFocus); return inflate; } throw new RuntimeException("Could not create RecyclerView"); } throw new IllegalStateException("Content has view with id attribute 'android.R.id.list_container' that is not a ViewGroup class"); } @Override // androidx.fragment.app.Fragment public void onDestroyView() { this.mHandler.removeCallbacks(this.mRequestFocus); this.mHandler.removeMessages(1); if (this.mHavePrefs) { unbindPreferences(); } this.mList = null; super.onDestroyView(); } @Override // androidx.preference.PreferenceManager.OnDisplayPreferenceDialogListener public void onDisplayPreferenceDialog(Preference preference) { DialogFragment dialogFragment; boolean onPreferenceDisplayDialog = getCallbackFragment() instanceof OnPreferenceDisplayDialogCallback ? ((OnPreferenceDisplayDialogCallback) getCallbackFragment()).onPreferenceDisplayDialog(this, preference) : false; if (!onPreferenceDisplayDialog && (getActivity() instanceof OnPreferenceDisplayDialogCallback)) { onPreferenceDisplayDialog = ((OnPreferenceDisplayDialogCallback) getActivity()).onPreferenceDisplayDialog(this, preference); } if (!onPreferenceDisplayDialog && getParentFragmentManager().findFragmentByTag("androidx.preference.PreferenceFragment.DIALOG") == null) { if (preference instanceof EditTextPreference) { dialogFragment = EditTextPreferenceDialogFragmentCompat.newInstance(preference.getKey()); } else if (preference instanceof ListPreference) { dialogFragment = ListPreferenceDialogFragmentCompat.newInstance(preference.getKey()); } else if (preference instanceof MultiSelectListPreference) { dialogFragment = MultiSelectListPreferenceDialogFragmentCompat.newInstance(preference.getKey()); } else { StringBuilder L = a.L("Cannot display dialog for an unknown Preference type: "); L.append(preference.getClass().getSimpleName()); L.append(". Make sure to implement onPreferenceDisplayDialog() to handle displaying a custom dialog for this Preference."); throw new IllegalArgumentException(L.toString()); } dialogFragment.setTargetFragment(this, 0); dialogFragment.show(getParentFragmentManager(), "androidx.preference.PreferenceFragment.DIALOG"); } } @Override // androidx.preference.PreferenceManager.OnNavigateToScreenListener public void onNavigateToScreen(PreferenceScreen preferenceScreen) { if (!(getCallbackFragment() instanceof OnPreferenceStartScreenCallback ? ((OnPreferenceStartScreenCallback) getCallbackFragment()).onPreferenceStartScreen(this, preferenceScreen) : false) && (getActivity() instanceof OnPreferenceStartScreenCallback)) { ((OnPreferenceStartScreenCallback) getActivity()).onPreferenceStartScreen(this, preferenceScreen); } } @Override // androidx.preference.PreferenceManager.OnPreferenceTreeClickListener public boolean onPreferenceTreeClick(Preference preference) { if (preference.getFragment() == null) { return false; } boolean onPreferenceStartFragment = getCallbackFragment() instanceof OnPreferenceStartFragmentCallback ? ((OnPreferenceStartFragmentCallback) getCallbackFragment()).onPreferenceStartFragment(this, preference) : false; if (!onPreferenceStartFragment && (getActivity() instanceof OnPreferenceStartFragmentCallback)) { onPreferenceStartFragment = ((OnPreferenceStartFragmentCallback) getActivity()).onPreferenceStartFragment(this, preference); } if (onPreferenceStartFragment) { return true; } Log.w("PreferenceFragment", "onPreferenceStartFragment is not implemented in the parent activity - attempting to use a fallback implementation. You should implement this method so that you can configure the new fragment that will be displayed, and set a transition between the fragments."); FragmentManager supportFragmentManager = requireActivity().getSupportFragmentManager(); Bundle extras = preference.getExtras(); Fragment instantiate = supportFragmentManager.getFragmentFactory().instantiate(requireActivity().getClassLoader(), preference.getFragment()); instantiate.setArguments(extras); instantiate.setTargetFragment(this, 0); supportFragmentManager.beginTransaction().replace(((View) getView().getParent()).getId(), instantiate).addToBackStack(null).commit(); return true; } @Override // androidx.fragment.app.Fragment public void onSaveInstanceState(@NonNull Bundle bundle) { super.onSaveInstanceState(bundle); PreferenceScreen preferenceScreen = getPreferenceScreen(); if (preferenceScreen != null) { Bundle bundle2 = new Bundle(); preferenceScreen.saveHierarchyState(bundle2); bundle.putBundle("android:preferences", bundle2); } } @Override // androidx.fragment.app.Fragment public void onStart() { super.onStart(); this.mPreferenceManager.setOnPreferenceTreeClickListener(this); this.mPreferenceManager.setOnDisplayPreferenceDialogListener(this); } @Override // androidx.fragment.app.Fragment public void onStop() { super.onStop(); this.mPreferenceManager.setOnPreferenceTreeClickListener(null); this.mPreferenceManager.setOnDisplayPreferenceDialogListener(null); } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public void onUnbindPreferences() { } @Override // androidx.fragment.app.Fragment public void onViewCreated(@NonNull View view, @Nullable Bundle bundle) { Bundle bundle2; PreferenceScreen preferenceScreen; super.onViewCreated(view, bundle); if (!(bundle == null || (bundle2 = bundle.getBundle("android:preferences")) == null || (preferenceScreen = getPreferenceScreen()) == null)) { preferenceScreen.restoreHierarchyState(bundle2); } if (this.mHavePrefs) { bindPreferences(); Runnable runnable = this.mSelectPreferenceRunnable; if (runnable != null) { runnable.run(); this.mSelectPreferenceRunnable = null; } } this.mInitDone = true; } public void scrollToPreference(Preference preference) { scrollToPreferenceInternal(preference, null); } public void scrollToPreference(String str) { scrollToPreferenceInternal(null, str); } public void setDivider(Drawable drawable) { this.mDividerDecoration.setDivider(drawable); } public void setDividerHeight(int i) { this.mDividerDecoration.setDividerHeight(i); } public void setPreferenceScreen(PreferenceScreen preferenceScreen) { if (this.mPreferenceManager.setPreferences(preferenceScreen) && preferenceScreen != null) { onUnbindPreferences(); this.mHavePrefs = true; if (this.mInitDone) { postBindPreferences(); } } } public void setPreferencesFromResource(@XmlRes int i, @Nullable String str) { requirePreferenceManager(); PreferenceScreen inflateFromResource = this.mPreferenceManager.inflateFromResource(getContext(), i, null); Object obj = inflateFromResource; if (str != null) { Object findPreference = inflateFromResource.findPreference(str); boolean z2 = findPreference instanceof PreferenceScreen; obj = findPreference; if (!z2) { throw new IllegalArgumentException(a.u("Preference object with key ", str, " is not a PreferenceScreen")); } } setPreferenceScreen((PreferenceScreen) obj); } }