Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 49a38c6f authored by Felipe Leme's avatar Felipe Leme Committed by Jeff Sharkey
Browse files

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
parent 257529dc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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);
  }
+1 −0
Original line number Diff line number Diff line
@@ -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);
  }
+1 −0
Original line number Diff line number Diff line
@@ -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);
  }
+7 −0
Original line number Diff line number Diff line
@@ -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;
        }
+14 −0
Original line number Diff line number Diff line
@@ -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;
    }
}