diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2021-06-23 12:36:18 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2021-07-15 12:43:11 -0700 |
commit | 711c596c86625a94a4da5ef4accb60015ce8231d (patch) | |
tree | e70b9967c594d9a11a3b9c12f98f69780764ac49 /quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java | |
parent | d642b6513720a342e4bbe7c7ef719c6af12841c2 (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.java | 9 |
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() { |