Fixes on updates on the PredictionRowView
> resetup header if content switches from empty to non-empty
> scroll to top on reset
Change-Id: Idc523a94990e9a8f9d639485fa5c7ec60eb378de
diff --git a/src/com/android/launcher3/allapps/FloatingHeaderView.java b/src/com/android/launcher3/allapps/FloatingHeaderView.java
index 1419a2a..e4f8ad3 100644
--- a/src/com/android/launcher3/allapps/FloatingHeaderView.java
+++ b/src/com/android/launcher3/allapps/FloatingHeaderView.java
@@ -176,6 +176,7 @@
mAnimator.start();
mHeaderCollapsed = false;
mSnappedScrolledY = -mMaxTranslation;
+ mCurrentRV.scrollToTop();
}
public boolean isExpanded() {
diff --git a/src/com/android/launcher3/allapps/PredictionRowView.java b/src/com/android/launcher3/allapps/PredictionRowView.java
index 4aacc6d..e834ff4 100644
--- a/src/com/android/launcher3/allapps/PredictionRowView.java
+++ b/src/com/android/launcher3/allapps/PredictionRowView.java
@@ -134,6 +134,7 @@
}
private void onAppsUpdated() {
+ int childCountBefore = getChildCount();
if (getChildCount() != mNumPredictedAppsPerRow) {
while (getChildCount() > mNumPredictedAppsPerRow) {
removeViewAt(0);
@@ -160,6 +161,13 @@
icon.setVisibility(View.INVISIBLE);
}
}
+
+ if (getChildCount() > 0 && childCountBefore == 0
+ || getChildCount() == 0 && childCountBefore > 0) {
+ // setting up header to adjust the height
+ // only necessary if childcount switches from/to 0
+ Launcher.getLauncher(getContext()).getAppsView().setupHeader();
+ }
}
private List<AppInfo> processPredictedAppComponents(