From 8c71a24e435eb09347b218008f4c7f7dda65bcc8 Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Wed, 5 Sep 2018 20:35:37 +0800 Subject: [PATCH] Switch to GridLayoutManager to support two-column layout In order to display both half-width card and full-width card, we use GridLayoutManager and SpanSizeLookup to achieve this purpose. Bug: 111822407 Test: manual Change-Id: I225fb0b5f731e3faf2bca9858395c40d318acf2f --- .../settings/homepage/HomepageAdapter.java | 21 +++++++++++++++++-- .../homepage/PersonalSettingsFragment.java | 9 +++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/homepage/HomepageAdapter.java b/src/com/android/settings/homepage/HomepageAdapter.java index 9ff52603dab..bd376012223 100644 --- a/src/com/android/settings/homepage/HomepageAdapter.java +++ b/src/com/android/settings/homepage/HomepageAdapter.java @@ -21,6 +21,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import java.util.ArrayList; @@ -28,14 +29,16 @@ import java.util.List; public class HomepageAdapter extends RecyclerView.Adapter implements HomepageCardUpdateListener { + static final int SPAN_COUNT = 2; private static final String TAG = "HomepageAdapter"; + private static final int HALF_WIDTH = 1; + private static final int FULL_WIDTH = 2; private final Context mContext; private final ControllerRendererPool mControllerRendererPool; private List mHomepageCards; - private RecyclerView mRecyclerView; public HomepageAdapter(Context context, HomepageManager manager) { mContext = context; @@ -81,7 +84,21 @@ public class HomepageAdapter extends RecyclerView.Adapter