PredictionRowView: handling the case where no predictions are populated.
Bug: 68713881
Change-Id: I63efd5631f5ad3cb3028c02fd83deca00096b00a
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index da4367f..a6c1e6e 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -94,6 +94,7 @@
private TransformingTouchDelegate mTouchDelegate;
private boolean mUsingTabs;
+ private boolean mHasPredictions = false;
private final HashMap<ComponentKey, AppInfo> mComponentToAppMap = new HashMap<>();
@@ -530,6 +531,11 @@
mFloatingHeaderHandler.getContentView().setPredictedApps(apps);
}
mAH[AdapterHolder.MAIN].appsList.setPredictedApps(apps);
+ boolean hasPredictions = !apps.isEmpty();
+ if (mHasPredictions != hasPredictions) {
+ mHasPredictions = hasPredictions;
+ setupHeader();
+ }
}
public AppInfo findApp(ComponentKeyMapper<AppInfo> mapper) {
@@ -553,8 +559,8 @@
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 @@
mComponentToAppMap, mNumPredictedAppsPerRow);
int padding = contentHeight;
- if (!mUsingTabs) {
+ if (mHasPredictions && !mUsingTabs) {
padding += mHeader.getPaddingTop() + mHeader.getPaddingBottom();
}
for (int i = 0; i < mAH.length; i++) {