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

119 lines
4.7 KiB
Java

package androidx.preference;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.View;
import android.view.accessibility.AccessibilityManager;
import android.widget.Checkable;
import android.widget.CompoundButton;
import androidx.annotation.RestrictTo;
import androidx.appcompat.widget.SwitchCompat;
import androidx.core.content.res.TypedArrayUtils;
public class SwitchPreferenceCompat extends TwoStatePreference {
private final Listener mListener;
private CharSequence mSwitchOff;
private CharSequence mSwitchOn;
public class Listener implements CompoundButton.OnCheckedChangeListener {
public Listener() {
}
@Override // android.widget.CompoundButton.OnCheckedChangeListener
public void onCheckedChanged(CompoundButton compoundButton, boolean z2) {
if (!SwitchPreferenceCompat.this.callChangeListener(Boolean.valueOf(z2))) {
compoundButton.setChecked(!z2);
} else {
SwitchPreferenceCompat.this.setChecked(z2);
}
}
}
public SwitchPreferenceCompat(Context context) {
this(context, null);
}
public SwitchPreferenceCompat(Context context, AttributeSet attributeSet) {
this(context, attributeSet, R.attr.switchPreferenceCompatStyle);
}
public SwitchPreferenceCompat(Context context, AttributeSet attributeSet, int i) {
this(context, attributeSet, i, 0);
}
public SwitchPreferenceCompat(Context context, AttributeSet attributeSet, int i, int i2) {
super(context, attributeSet, i, i2);
this.mListener = new Listener();
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.SwitchPreferenceCompat, i, i2);
setSummaryOn(TypedArrayUtils.getString(obtainStyledAttributes, R.styleable.SwitchPreferenceCompat_summaryOn, R.styleable.SwitchPreferenceCompat_android_summaryOn));
setSummaryOff(TypedArrayUtils.getString(obtainStyledAttributes, R.styleable.SwitchPreferenceCompat_summaryOff, R.styleable.SwitchPreferenceCompat_android_summaryOff));
setSwitchTextOn(TypedArrayUtils.getString(obtainStyledAttributes, R.styleable.SwitchPreferenceCompat_switchTextOn, R.styleable.SwitchPreferenceCompat_android_switchTextOn));
setSwitchTextOff(TypedArrayUtils.getString(obtainStyledAttributes, R.styleable.SwitchPreferenceCompat_switchTextOff, R.styleable.SwitchPreferenceCompat_android_switchTextOff));
setDisableDependentsState(TypedArrayUtils.getBoolean(obtainStyledAttributes, R.styleable.SwitchPreferenceCompat_disableDependentsState, R.styleable.SwitchPreferenceCompat_android_disableDependentsState, false));
obtainStyledAttributes.recycle();
}
private void syncSwitchView(View view) {
boolean z2 = view instanceof SwitchCompat;
if (z2) {
((SwitchCompat) view).setOnCheckedChangeListener(null);
}
if (view instanceof Checkable) {
((Checkable) view).setChecked(this.mChecked);
}
if (z2) {
SwitchCompat switchCompat = (SwitchCompat) view;
switchCompat.setTextOn(this.mSwitchOn);
switchCompat.setTextOff(this.mSwitchOff);
switchCompat.setOnCheckedChangeListener(this.mListener);
}
}
private void syncViewIfAccessibilityEnabled(View view) {
if (((AccessibilityManager) getContext().getSystemService("accessibility")).isEnabled()) {
syncSwitchView(view.findViewById(R.id.switchWidget));
syncSummaryView(view.findViewById(16908304));
}
}
public CharSequence getSwitchTextOff() {
return this.mSwitchOff;
}
public CharSequence getSwitchTextOn() {
return this.mSwitchOn;
}
@Override // androidx.preference.Preference
public void onBindViewHolder(PreferenceViewHolder preferenceViewHolder) {
super.onBindViewHolder(preferenceViewHolder);
syncSwitchView(preferenceViewHolder.findViewById(R.id.switchWidget));
syncSummaryView(preferenceViewHolder);
}
@Override // androidx.preference.Preference
@RestrictTo({RestrictTo.Scope.LIBRARY})
public void performClick(View view) {
super.performClick(view);
syncViewIfAccessibilityEnabled(view);
}
public void setSwitchTextOff(int i) {
setSwitchTextOff(getContext().getString(i));
}
public void setSwitchTextOff(CharSequence charSequence) {
this.mSwitchOff = charSequence;
notifyChanged();
}
public void setSwitchTextOn(int i) {
setSwitchTextOn(getContext().getString(i));
}
public void setSwitchTextOn(CharSequence charSequence) {
this.mSwitchOn = charSequence;
notifyChanged();
}
}