summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/widgets_view.xml17
-rw-r--r--src/com/android/launcher3/BaseContainerView.java4
-rw-r--r--src/com/android/launcher3/allapps/AllAppsContainerView.java5
-rw-r--r--src/com/android/launcher3/widget/WidgetsContainerView.java18
4 files changed, 23 insertions, 21 deletions
diff --git a/res/layout/widgets_view.xml b/res/layout/widgets_view.xml
index cc513ab36..410d1be3f 100644
--- a/res/layout/widgets_view.xml
+++ b/res/layout/widgets_view.xml
@@ -34,13 +34,20 @@
android:elevation="2dp"
android:visibility="invisible" />
- <com.android.launcher3.widget.WidgetsRecyclerView
+ <FrameLayout
android:id="@+id/main_content"
- android:theme="@style/CustomOverscroll.Dark"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
android:layout_gravity="center"
android:elevation="15dp"
- android:visibility="gone" />
+ android:visibility="gone"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <com.android.launcher3.widget.WidgetsRecyclerView
+ android:id="@+id/widgets_list_view"
+ android:theme="@style/CustomOverscroll.Dark"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+ </FrameLayout>
+
</com.android.launcher3.widget.WidgetsContainerView> \ No newline at end of file
diff --git a/src/com/android/launcher3/BaseContainerView.java b/src/com/android/launcher3/BaseContainerView.java
index 5ba41ad3f..bd4199264 100644
--- a/src/com/android/launcher3/BaseContainerView.java
+++ b/src/com/android/launcher3/BaseContainerView.java
@@ -140,6 +140,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 920e954e0..6bcbb61aa 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 9a0c50bac..a87c932bc 100644
--- a/src/com/android/launcher3/widget/WidgetsContainerView.java
+++ b/src/com/android/launcher3/widget/WidgetsContainerView.java
@@ -64,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. */
@@ -73,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);
}
@@ -97,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();
@@ -109,8 +107,6 @@ public class WidgetsContainerView extends BaseContainerView
+ grid.availableHeightPx * PRELOAD_SCREEN_HEIGHT_MULTIPLE;
}
});
- mPadding.set(getPaddingLeft(), getPaddingTop(), getPaddingRight(),
- getPaddingBottom());
}
//
@@ -118,7 +114,7 @@ public class WidgetsContainerView extends BaseContainerView
//
public void scrollToTop() {
- mView.scrollToPosition(0);
+ mRecyclerView.scrollToPosition(0);
}
//
@@ -330,14 +326,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();
}