Added BaseAdapter.setAutofillOptions()
Also changed ArrayAdapter to use it, when set. Fixes: 37518906 Test: cts-tradefed run commandAndExit cts-dev -m CtsWidgetTestCases -t android.widget.cts.BaseAdapterTest Test: cts-tradefed run commandAndExit cts-dev -m CtsWidgetTestCases -t android.widget.cts.ArrayAdapterTest Test: m update-api Change-Id: I5e883555b0fb9d084b57b9239595bf0632fc41af
This commit is contained in:
committed by
Jeff Sharkey
parent
257529dcae
commit
49a38c6f1c
@@ -49515,6 +49515,7 @@ package android.widget {
|
||||
method public void notifyDataSetChanged();
|
||||
method public void notifyDataSetInvalidated();
|
||||
method public void registerDataSetObserver(android.database.DataSetObserver);
|
||||
method public void setAutofillOptions(java.lang.CharSequence...);
|
||||
method public void unregisterDataSetObserver(android.database.DataSetObserver);
|
||||
}
|
||||
|
||||
|
||||
@@ -53433,6 +53433,7 @@ package android.widget {
|
||||
method public void notifyDataSetChanged();
|
||||
method public void notifyDataSetInvalidated();
|
||||
method public void registerDataSetObserver(android.database.DataSetObserver);
|
||||
method public void setAutofillOptions(java.lang.CharSequence...);
|
||||
method public void unregisterDataSetObserver(android.database.DataSetObserver);
|
||||
}
|
||||
|
||||
|
||||
@@ -49931,6 +49931,7 @@ package android.widget {
|
||||
method public void notifyDataSetChanged();
|
||||
method public void notifyDataSetInvalidated();
|
||||
method public void registerDataSetObserver(android.database.DataSetObserver);
|
||||
method public void setAutofillOptions(java.lang.CharSequence...);
|
||||
method public void unregisterDataSetObserver(android.database.DataSetObserver);
|
||||
}
|
||||
|
||||
|
||||
@@ -526,6 +526,13 @@ public class ArrayAdapter<T> extends BaseAdapter implements Filterable, ThemedSp
|
||||
*/
|
||||
@Override
|
||||
public CharSequence[] getAutofillOptions() {
|
||||
// First check if app developer explicitly set them.
|
||||
final CharSequence[] explicitOptions = super.getAutofillOptions();
|
||||
if (explicitOptions != null) {
|
||||
return explicitOptions;
|
||||
}
|
||||
|
||||
// Otherwise, only return options that came from static resources.
|
||||
if (!mObjectsFromResources || mObjects == null || mObjects.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package android.widget;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.database.DataSetObservable;
|
||||
import android.database.DataSetObserver;
|
||||
import android.view.View;
|
||||
@@ -29,6 +30,7 @@ import android.view.ViewGroup;
|
||||
*/
|
||||
public abstract class BaseAdapter implements ListAdapter, SpinnerAdapter {
|
||||
private final DataSetObservable mDataSetObservable = new DataSetObservable();
|
||||
private CharSequence[] mAutofillOptions;
|
||||
|
||||
public boolean hasStableIds() {
|
||||
return false;
|
||||
@@ -82,4 +84,16 @@ public abstract class BaseAdapter implements ListAdapter, SpinnerAdapter {
|
||||
public boolean isEmpty() {
|
||||
return getCount() == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence[] getAutofillOptions() {
|
||||
return mAutofillOptions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the value returned by {@link #getAutofillOptions()}
|
||||
*/
|
||||
public void setAutofillOptions(@Nullable CharSequence... options) {
|
||||
mAutofillOptions = options;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user