From a6194d3d9205488d6f5400193f8d4d6aaf140218 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Fri, 19 Feb 2016 09:34:09 -0800 Subject: [PATCH] Wrapping thw widgetList inside a layout, so that it has the same view structure as allApps Change-Id: I28b035beb1c7e13101ec20ff671d3cad5f757c0e --- res/layout/widgets_view.xml | 17 ++++++++++++----- .../android/launcher3/BaseContainerView.java | 4 ++++ .../allapps/AllAppsContainerView.java | 5 ----- .../widget/WidgetsContainerView.java | 19 +++++++------------ 4 files changed, 23 insertions(+), 22 deletions(-) diff --git a/res/layout/widgets_view.xml b/res/layout/widgets_view.xml index e64f83ae13..c51ec802b3 100644 --- a/res/layout/widgets_view.xml +++ b/res/layout/widgets_view.xml @@ -34,13 +34,20 @@ android:elevation="2dp" android:visibility="invisible" /> - + android:visibility="gone" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + + + \ No newline at end of file diff --git a/src/com/android/launcher3/BaseContainerView.java b/src/com/android/launcher3/BaseContainerView.java index b8e7b63fee..7de2774dcd 100644 --- a/src/com/android/launcher3/BaseContainerView.java +++ b/src/com/android/launcher3/BaseContainerView.java @@ -138,6 +138,10 @@ public abstract class BaseContainerView extends FrameLayout implements Insettabl mRevealView.setBackground(background.getConstantState().newDrawable()); mContent.setBackground(background); + // We let the content have a intent background, but still have full width. + // This allows the scroll bar to be used responsive outside the background bounds as well. + mContent.setPadding(0, 0, 0, 0); + Rect bgPadding = new Rect(); background.getPadding(bgPadding); onUpdateBgPadding(padding, bgPadding); diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index 997f0fa89a..57da6c57cd 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -371,11 +371,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc mAdapter.updateBackgroundPadding(bgPadding); mElevationController.updateBackgroundPadding(bgPadding); - // Hack: We are going to let the recycler view take the full width, so reset the padding on - // the container to zero after setting the background and apply the top-bottom padding to - // the content view instead so that the launcher transition clips correctly. - getContentView().setPadding(0, 0, 0, 0); - // Pad the recycler view by the background padding plus the start margin (for the section // names) int maxScrollBarWidth = mAppsRecyclerView.getMaxScrollbarWidth(); diff --git a/src/com/android/launcher3/widget/WidgetsContainerView.java b/src/com/android/launcher3/widget/WidgetsContainerView.java index 8b9ac1f759..0173eb771a 100644 --- a/src/com/android/launcher3/widget/WidgetsContainerView.java +++ b/src/com/android/launcher3/widget/WidgetsContainerView.java @@ -20,7 +20,6 @@ import android.content.Context; import android.graphics.Bitmap; import android.graphics.Rect; import android.graphics.drawable.Drawable; -import android.graphics.drawable.InsetDrawable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView.State; import android.util.AttributeSet; @@ -65,7 +64,7 @@ public class WidgetsContainerView extends BaseContainerView private IconCache mIconCache; /* Recycler view related member variables */ - private WidgetsRecyclerView mView; + private WidgetsRecyclerView mRecyclerView; private WidgetsListAdapter mAdapter; /* Touch handling related member variables. */ @@ -74,8 +73,6 @@ public class WidgetsContainerView extends BaseContainerView /* Rendering related. */ private WidgetPreviewLoader mWidgetPreviewLoader; - private Rect mPadding = new Rect(); - public WidgetsContainerView(Context context) { this(context, null); } @@ -98,11 +95,11 @@ public class WidgetsContainerView extends BaseContainerView @Override protected void onFinishInflate() { super.onFinishInflate(); - mView = (WidgetsRecyclerView) getContentView(); - mView.setAdapter(mAdapter); + mRecyclerView = (WidgetsRecyclerView) getContentView().findViewById(R.id.widgets_list_view); + mRecyclerView.setAdapter(mAdapter); // This extends the layout space so that preloading happen for the {@link RecyclerView} - mView.setLayoutManager(new LinearLayoutManager(getContext()) { + mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()) { @Override protected int getExtraLayoutSpace(State state) { DeviceProfile grid = mLauncher.getDeviceProfile(); @@ -110,8 +107,6 @@ public class WidgetsContainerView extends BaseContainerView + grid.availableHeightPx * PRELOAD_SCREEN_HEIGHT_MULTIPLE; } }); - mPadding.set(getPaddingLeft(), getPaddingTop(), getPaddingRight(), - getPaddingBottom()); } // @@ -119,7 +114,7 @@ public class WidgetsContainerView extends BaseContainerView // public void scrollToTop() { - mView.scrollToPosition(0); + mRecyclerView.scrollToPosition(0); } // @@ -329,14 +324,14 @@ public class WidgetsContainerView extends BaseContainerView // @Override protected void onUpdateBgPadding(Rect padding, Rect bgPadding) { - mView.updateBackgroundPadding(bgPadding); + mRecyclerView.updateBackgroundPadding(bgPadding); } /** * Initialize the widget data model. */ public void addWidgets(WidgetsModel model) { - mView.setWidgets(model); + mRecyclerView.setWidgets(model); mAdapter.setWidgetsModel(model); mAdapter.notifyDataSetChanged(); }