package androidx.preference; import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.content.res.AppCompatResources; import androidx.core.content.res.TypedArrayUtils; public abstract class DialogPreference extends Preference { private Drawable mDialogIcon; private int mDialogLayoutResId; private CharSequence mDialogMessage; private CharSequence mDialogTitle; private CharSequence mNegativeButtonText; private CharSequence mPositiveButtonText; public interface TargetFragment { @Nullable T findPreference(@NonNull CharSequence charSequence); } public DialogPreference(Context context) { this(context, null); } public DialogPreference(Context context, AttributeSet attributeSet) { this(context, attributeSet, TypedArrayUtils.getAttr(context, R.attr.dialogPreferenceStyle, 16842897)); } public DialogPreference(Context context, AttributeSet attributeSet, int i) { this(context, attributeSet, i, 0); } public DialogPreference(Context context, AttributeSet attributeSet, int i, int i2) { super(context, attributeSet, i, i2); TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.DialogPreference, i, i2); String string = TypedArrayUtils.getString(obtainStyledAttributes, R.styleable.DialogPreference_dialogTitle, R.styleable.DialogPreference_android_dialogTitle); this.mDialogTitle = string; if (string == null) { this.mDialogTitle = getTitle(); } this.mDialogMessage = TypedArrayUtils.getString(obtainStyledAttributes, R.styleable.DialogPreference_dialogMessage, R.styleable.DialogPreference_android_dialogMessage); this.mDialogIcon = TypedArrayUtils.getDrawable(obtainStyledAttributes, R.styleable.DialogPreference_dialogIcon, R.styleable.DialogPreference_android_dialogIcon); this.mPositiveButtonText = TypedArrayUtils.getString(obtainStyledAttributes, R.styleable.DialogPreference_positiveButtonText, R.styleable.DialogPreference_android_positiveButtonText); this.mNegativeButtonText = TypedArrayUtils.getString(obtainStyledAttributes, R.styleable.DialogPreference_negativeButtonText, R.styleable.DialogPreference_android_negativeButtonText); this.mDialogLayoutResId = TypedArrayUtils.getResourceId(obtainStyledAttributes, R.styleable.DialogPreference_dialogLayout, R.styleable.DialogPreference_android_dialogLayout, 0); obtainStyledAttributes.recycle(); } public Drawable getDialogIcon() { return this.mDialogIcon; } public int getDialogLayoutResource() { return this.mDialogLayoutResId; } public CharSequence getDialogMessage() { return this.mDialogMessage; } public CharSequence getDialogTitle() { return this.mDialogTitle; } public CharSequence getNegativeButtonText() { return this.mNegativeButtonText; } public CharSequence getPositiveButtonText() { return this.mPositiveButtonText; } @Override // androidx.preference.Preference public void onClick() { getPreferenceManager().showDialog(this); } public void setDialogIcon(int i) { this.mDialogIcon = AppCompatResources.getDrawable(getContext(), i); } public void setDialogIcon(Drawable drawable) { this.mDialogIcon = drawable; } public void setDialogLayoutResource(int i) { this.mDialogLayoutResId = i; } public void setDialogMessage(int i) { setDialogMessage(getContext().getString(i)); } public void setDialogMessage(CharSequence charSequence) { this.mDialogMessage = charSequence; } public void setDialogTitle(int i) { setDialogTitle(getContext().getString(i)); } public void setDialogTitle(CharSequence charSequence) { this.mDialogTitle = charSequence; } public void setNegativeButtonText(int i) { setNegativeButtonText(getContext().getString(i)); } public void setNegativeButtonText(CharSequence charSequence) { this.mNegativeButtonText = charSequence; } public void setPositiveButtonText(int i) { setPositiveButtonText(getContext().getString(i)); } public void setPositiveButtonText(CharSequence charSequence) { this.mPositiveButtonText = charSequence; } }