summaryrefslogtreecommitdiff
path: root/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2021-06-23 12:36:18 -0700
committerSunny Goyal <sunnygoyal@google.com>2021-07-15 12:43:11 -0700
commit711c596c86625a94a4da5ef4accb60015ce8231d (patch)
treee70b9967c594d9a11a3b9c12f98f69780764ac49 /quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
parentd642b6513720a342e4bbe7c7ef719c6af12841c2 (diff)
Binding Taskbar directly from Launcher model
This allows taskbar to be loaded even in case of 3P Launchers and removes dependency on LauncherActivity lifecycle Bug: 187353581 Bug: 188788621 Test: Manual Change-Id: I5a0988e0697b41677d4c58f0213aef14ec0c0972
Diffstat (limited to 'quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java')
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
index 50c26b30b2..94c0ebeaf6 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
@@ -24,6 +24,7 @@ import android.graphics.Rect;
import android.view.View;
import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.LauncherAppState;
import com.android.launcher3.anim.AnimatorPlaybackController;
import com.android.launcher3.anim.PendingAnimation;
import com.android.launcher3.model.data.ItemInfo;
@@ -50,6 +51,8 @@ public class TaskbarViewController {
private final AnimatedFloat mTaskbarIconTranslationYForStash = new AnimatedFloat(
this::updateTranslationY);
+ private final TaskbarModelCallbacks mModelCallbacks;
+
// Initialized in init.
private TaskbarControllers mControllers;
@@ -63,6 +66,7 @@ public class TaskbarViewController {
mTaskbarView = taskbarView;
mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, 4);
mTaskbarIconAlpha.setUpdateVisibility(true);
+ mModelCallbacks = new TaskbarModelCallbacks(activity, mTaskbarView);
}
public void init(TaskbarControllers controllers) {
@@ -71,6 +75,11 @@ public class TaskbarViewController {
mTaskbarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarSize;
mTaskbarIconScaleForStash.updateValue(1f);
+ LauncherAppState.getInstance(mActivity).getModel().addCallbacksAndLoad(mModelCallbacks);
+ }
+
+ public void onDestroy() {
+ LauncherAppState.getInstance(mActivity).getModel().removeCallbacks(mModelCallbacks);
}
public boolean areIconsVisible() {