117 lines
4.1 KiB
Java
117 lines
4.1 KiB
Java
package androidx.preference;
|
|
|
|
import android.content.Context;
|
|
import android.util.AttributeSet;
|
|
import android.view.View;
|
|
import android.widget.AdapterView;
|
|
import android.widget.ArrayAdapter;
|
|
import android.widget.Spinner;
|
|
import android.widget.SpinnerAdapter;
|
|
import androidx.annotation.NonNull;
|
|
public class DropDownPreference extends ListPreference {
|
|
private final ArrayAdapter mAdapter;
|
|
private final Context mContext;
|
|
private final AdapterView.OnItemSelectedListener mItemSelectedListener;
|
|
private Spinner mSpinner;
|
|
|
|
/* renamed from: androidx.preference.DropDownPreference$1 reason: invalid class name */
|
|
public class AnonymousClass1 implements AdapterView.OnItemSelectedListener {
|
|
public AnonymousClass1() {
|
|
}
|
|
|
|
@Override // android.widget.AdapterView.OnItemSelectedListener
|
|
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long j) {
|
|
if (i >= 0) {
|
|
String charSequence = DropDownPreference.this.getEntryValues()[i].toString();
|
|
if (!charSequence.equals(DropDownPreference.this.getValue()) && DropDownPreference.this.callChangeListener(charSequence)) {
|
|
DropDownPreference.this.setValue(charSequence);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // android.widget.AdapterView.OnItemSelectedListener
|
|
public void onNothingSelected(AdapterView<?> adapterView) {
|
|
}
|
|
}
|
|
|
|
public DropDownPreference(Context context) {
|
|
this(context, null);
|
|
}
|
|
|
|
public DropDownPreference(Context context, AttributeSet attributeSet) {
|
|
this(context, attributeSet, R.attr.dropdownPreferenceStyle);
|
|
}
|
|
|
|
public DropDownPreference(Context context, AttributeSet attributeSet, int i) {
|
|
this(context, attributeSet, i, 0);
|
|
}
|
|
|
|
public DropDownPreference(Context context, AttributeSet attributeSet, int i, int i2) {
|
|
super(context, attributeSet, i, i2);
|
|
this.mItemSelectedListener = new AnonymousClass1();
|
|
this.mContext = context;
|
|
this.mAdapter = createAdapter();
|
|
updateEntries();
|
|
}
|
|
|
|
private int findSpinnerIndexOfValue(String str) {
|
|
CharSequence[] entryValues = getEntryValues();
|
|
if (str == null || entryValues == null) {
|
|
return -1;
|
|
}
|
|
for (int length = entryValues.length - 1; length >= 0; length--) {
|
|
if (entryValues[length].equals(str)) {
|
|
return length;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
private void updateEntries() {
|
|
this.mAdapter.clear();
|
|
if (getEntries() != null) {
|
|
for (CharSequence charSequence : getEntries()) {
|
|
this.mAdapter.add(charSequence.toString());
|
|
}
|
|
}
|
|
}
|
|
|
|
public ArrayAdapter createAdapter() {
|
|
return new ArrayAdapter(this.mContext, 17367049);
|
|
}
|
|
|
|
@Override // androidx.preference.Preference
|
|
public void notifyChanged() {
|
|
super.notifyChanged();
|
|
ArrayAdapter arrayAdapter = this.mAdapter;
|
|
if (arrayAdapter != null) {
|
|
arrayAdapter.notifyDataSetChanged();
|
|
}
|
|
}
|
|
|
|
@Override // androidx.preference.Preference
|
|
public void onBindViewHolder(PreferenceViewHolder preferenceViewHolder) {
|
|
Spinner spinner = (Spinner) preferenceViewHolder.itemView.findViewById(R.id.spinner);
|
|
this.mSpinner = spinner;
|
|
spinner.setAdapter((SpinnerAdapter) this.mAdapter);
|
|
this.mSpinner.setOnItemSelectedListener(this.mItemSelectedListener);
|
|
this.mSpinner.setSelection(findSpinnerIndexOfValue(getValue()));
|
|
super.onBindViewHolder(preferenceViewHolder);
|
|
}
|
|
|
|
@Override // androidx.preference.DialogPreference, androidx.preference.Preference
|
|
public void onClick() {
|
|
this.mSpinner.performClick();
|
|
}
|
|
|
|
@Override // androidx.preference.ListPreference
|
|
public void setEntries(@NonNull CharSequence[] charSequenceArr) {
|
|
super.setEntries(charSequenceArr);
|
|
updateEntries();
|
|
}
|
|
|
|
@Override // androidx.preference.ListPreference
|
|
public void setValueIndex(int i) {
|
|
setValue(getEntryValues()[i].toString());
|
|
}
|
|
}
|