From a5f5483cb0f411389d91ba938ac423a0480afbbd Mon Sep 17 00:00:00 2001 From: Mario Bertschler Date: Fri, 17 Nov 2017 11:34:27 -0800 Subject: [PATCH] PredictionRowView: handling the case where no predictions are populated. Bug: 68713881 Change-Id: I63efd5631f5ad3cb3028c02fd83deca00096b00a --- .../launcher3/allapps/AllAppsContainerView.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index da4367f8e5..a6c1e6edcc 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -94,6 +94,7 @@ public class AllAppsContainerView extends RelativeLayout implements DragSource, private TransformingTouchDelegate mTouchDelegate; private boolean mUsingTabs; + private boolean mHasPredictions = false; private final HashMap mComponentToAppMap = new HashMap<>(); @@ -530,6 +531,11 @@ public class AllAppsContainerView extends RelativeLayout implements DragSource, mFloatingHeaderHandler.getContentView().setPredictedApps(apps); } mAH[AdapterHolder.MAIN].appsList.setPredictedApps(apps); + boolean hasPredictions = !apps.isEmpty(); + if (mHasPredictions != hasPredictions) { + mHasPredictions = hasPredictions; + setupHeader(); + } } public AppInfo findApp(ComponentKeyMapper mapper) { @@ -553,8 +559,8 @@ public class AllAppsContainerView extends RelativeLayout implements DragSource, return; } mHeader.setVisibility(View.VISIBLE); - int contentHeight = mLauncher.getDeviceProfile().allAppsCellHeightPx; - if (!mUsingTabs) { + int contentHeight = mHasPredictions ? mLauncher.getDeviceProfile().allAppsCellHeightPx : 0; + if (mHasPredictions && !mUsingTabs) { contentHeight += getResources() .getDimensionPixelSize(R.dimen.all_apps_prediction_row_divider_height); } @@ -565,7 +571,7 @@ public class AllAppsContainerView extends RelativeLayout implements DragSource, mComponentToAppMap, mNumPredictedAppsPerRow); int padding = contentHeight; - if (!mUsingTabs) { + if (mHasPredictions && !mUsingTabs) { padding += mHeader.getPaddingTop() + mHeader.getPaddingBottom(); } for (int i = 0; i < mAH.length; i++) {