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

Commit 7a99fd73 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes from topic "RecyclerView for share-sheet"

* changes:
  Replcae ListView with RecyclerView in Share-sheet
  Port GridLayoutManager from library to internal widget
parents d0c0dd11 bde7b460
Loading
Loading
Loading
Loading
+190 −136

File changed.

Preview size limit exceeded, changes collapsed.

+6 −1
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ public class ChooserListAdapter extends ResolverListAdapter {
    private static final String TAG = "ChooserListAdapter";
    private static final boolean DEBUG = false;

    public static final int NO_POSITION = -1;
    public static final int TARGET_BAD = -1;
    public static final int TARGET_CALLER = 0;
    public static final int TARGET_SERVICE = 1;
@@ -189,7 +190,7 @@ public class ChooserListAdapter extends ResolverListAdapter {
    }

    @Override
    public View onCreateView(ViewGroup parent) {
    View onCreateView(ViewGroup parent) {
        return mInflater.inflate(
                com.android.internal.R.layout.resolve_grid_item, parent, false);
    }
@@ -321,6 +322,10 @@ public class ChooserListAdapter extends ResolverListAdapter {
     */
    @Override
    public TargetInfo targetInfoForPosition(int position, boolean filtered) {
        if (position == NO_POSITION) {
            return null;
        }

        int offset = 0;

        // Direct share targets
+21 −11
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@ public class ResolverActivity extends Activity implements
    @UnsupportedAppUsage
    protected ResolverListAdapter mAdapter;
    private boolean mSafeForwardingMode;
    protected AbsListView mAdapterView;
    private AbsListView mAdapterView;
    private Button mAlwaysButton;
    private Button mOnceButton;
    protected View mProfileView;
@@ -1075,7 +1075,6 @@ public class ResolverActivity extends Activity implements
            mLayoutId = getLayoutResource();
        }
        setContentView(mLayoutId);
        mAdapterView = findViewById(R.id.resolver_list);
        return postRebuildList(rebuildCompleted);
    }

@@ -1114,26 +1113,37 @@ public class ResolverActivity extends Activity implements
            }
        }

        boolean isAdapterViewVisible = true;
        if (count == 0 && mAdapter.getPlaceholderCount() == 0) {
            final TextView emptyView = findViewById(R.id.empty);
            emptyView.setVisibility(View.VISIBLE);
            mAdapterView.setVisibility(View.GONE);
        } else {
            mAdapterView.setVisibility(View.VISIBLE);
            onPrepareAdapterView(mAdapterView, mAdapter);
            isAdapterViewVisible = false;
        }

        onPrepareAdapterView(mAdapter, isAdapterViewVisible);
        return false;
    }

    public void onPrepareAdapterView(AbsListView adapterView, ResolverListAdapter adapter) {
    /**
     * Prepare the scrollable view which consumes data in the list adapter.
     * @param adapter The adapter used to provide data to item views.
     * @param isVisible True if the scrollable view should be visible; false, otherwise.
     */
    public void onPrepareAdapterView(ResolverListAdapter adapter, boolean isVisible) {
        mAdapterView = findViewById(R.id.resolver_list);
        if (!isVisible) {
            mAdapterView.setVisibility(View.GONE);
            return;
        }
        mAdapterView.setVisibility(View.VISIBLE);
        final boolean useHeader = adapter.hasFilteredItem();
        final ListView listView = adapterView instanceof ListView ? (ListView) adapterView : null;
        final ListView listView = mAdapterView instanceof ListView ? (ListView) mAdapterView : null;

        adapterView.setAdapter(mAdapter);
        mAdapterView.setAdapter(mAdapter);

        final ItemClickListener listener = new ItemClickListener();
        adapterView.setOnItemClickListener(listener);
        adapterView.setOnItemLongClickListener(listener);
        mAdapterView.setOnItemClickListener(listener);
        mAdapterView.setOnItemLongClickListener(listener);

        if (mSupportsAlwaysUseOption || mUseLayoutForBrowsables) {
            listView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE);
+1 −1
Original line number Diff line number Diff line
@@ -491,7 +491,7 @@ public class ResolverListAdapter extends BaseAdapter {
        return view;
    }

    public View onCreateView(ViewGroup parent) {
    View onCreateView(ViewGroup parent) {
        return mInflater.inflate(
                com.android.internal.R.layout.resolve_list_item, parent, false);
    }
+1065 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading