Prevent NPE inside AllAppsTransitionController
Bug: 181911438
Test: manual
Change-Id: Ia2cfe43512c0336232fc6787eb955d476280e3b8
diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
index dc58c99..a48e423 100644
--- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -144,11 +144,14 @@
*/
public void setProgress(float progress) {
mProgress = progress;
+
mScrimView.setProgress(progress);
float shiftCurrent = progress * mShiftRange;
-
mAppsView.setTranslationY(shiftCurrent);
if (FeatureFlags.ENABLE_DEVICE_SEARCH.get() && mSearchImeEnabled) {
+ if (mInsetController == null) {
+ setupInsetTransitionController();
+ }
mInsetController.setProgress(progress);
}
}
@@ -240,13 +243,17 @@
mAppsView = appsView;
mScrimView = scrimView;
if (FeatureFlags.ENABLE_DEVICE_SEARCH.get() && BuildCompat.isAtLeastR()) {
- mInsetController = new AllAppsInsetTransitionController(mShiftRange, mAppsView);
- mLauncher.getSystemUiController().updateUiState(UI_STATE_ALLAPPS,
- View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
- | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+ setupInsetTransitionController();
}
}
+ private void setupInsetTransitionController() {
+ mInsetController = new AllAppsInsetTransitionController(mShiftRange, mAppsView);
+ mLauncher.getSystemUiController().updateUiState(UI_STATE_ALLAPPS,
+ View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+ | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+ }
+
/**
* Updates the total scroll range but does not update the UI.
*/