summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2015-05-15 16:30:08 -0700
committerWinson Chung <winsonc@google.com>2015-05-19 18:04:09 +0000
commitda25da3d557177febb9c7afb78e04b1ef4a45f17 (patch)
tree13555f00df43c0df61a0054c442605d25b97a9ac
parent32f14071cc5808737c88da7b5f3047a8222f8843 (diff)
downloadandroid_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.java8
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) {