diff options
author | Winson Chung <winsonc@google.com> | 2015-05-15 16:30:08 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2015-05-19 18:04:09 +0000 |
commit | da25da3d557177febb9c7afb78e04b1ef4a45f17 (patch) | |
tree | 13555f00df43c0df61a0054c442605d25b97a9ac | |
parent | 32f14071cc5808737c88da7b5f3047a8222f8843 (diff) | |
download | android_packages_apps_Trebuchet-da25da3d557177febb9c7afb78e04b1ef4a45f17.tar.gz android_packages_apps_Trebuchet-da25da3d557177febb9c7afb78e04b1ef4a45f17.tar.bz2 android_packages_apps_Trebuchet-da25da3d557177febb9c7afb78e04b1ef4a45f17.zip |
Ensure that we have a reasonable cache size for AllApps.
Change-Id: Ic0cb5ec2911567102227748cd9d2c1d8297fe105
-rw-r--r-- | src/com/android/launcher3/AppsContainerRecyclerView.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/com/android/launcher3/AppsContainerRecyclerView.java b/src/com/android/launcher3/AppsContainerRecyclerView.java index bd7f645fc..31942b36d 100644 --- a/src/com/android/launcher3/AppsContainerRecyclerView.java +++ b/src/com/android/launcher3/AppsContainerRecyclerView.java @@ -128,6 +128,14 @@ public class AppsContainerRecyclerView extends BaseContainerRecyclerView { public void setNumAppsPerRow(int numAppsPerRow, int numPredictedAppsPerRow) { mNumAppsPerRow = numAppsPerRow; mNumPredictedAppsPerRow = numPredictedAppsPerRow; + + DeviceProfile grid = LauncherAppState.getInstance().getDynamicGrid().getDeviceProfile(); + RecyclerView.RecycledViewPool pool = getRecycledViewPool(); + int approxRows = (int) Math.ceil(grid.availableHeightPx / grid.allAppsIconSizePx); + pool.setMaxRecycledViews(AppsGridAdapter.PREDICTION_BAR_SPACER_TYPE, 1); + pool.setMaxRecycledViews(AppsGridAdapter.EMPTY_VIEW_TYPE, 1); + pool.setMaxRecycledViews(AppsGridAdapter.ICON_VIEW_TYPE, approxRows * mNumAppsPerRow); + pool.setMaxRecycledViews(AppsGridAdapter.SECTION_BREAK_VIEW_TYPE, approxRows); } public void updateBackgroundPadding(Drawable background) { |