Merge "Added BaseAdapter.setAutofillOptions()"

This commit is contained in:
TreeHugger Robot
2017-06-21 21:25:47 +00:00
committed by Android (Google) Code Review
5 changed files with 24 additions and 0 deletions

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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;
}
}