Persist docked state so it doesn't get lost in re-inflates
Test: manual
Change-Id: If335f1cf52c7bce270ac746e6b0ed3a6e2b18b1b
Fixes: 64487667
diff --git a/packages/SystemUI/src/com/android/systemui/DockedStackExistsListener.java b/packages/SystemUI/src/com/android/systemui/DockedStackExistsListener.java
index 9fe730a..81e4db3 100644
--- a/packages/SystemUI/src/com/android/systemui/DockedStackExistsListener.java
+++ b/packages/SystemUI/src/com/android/systemui/DockedStackExistsListener.java
@@ -33,6 +33,7 @@
private static final String TAG = "DockedStackExistsListener";
private static ArrayList<WeakReference<Consumer<Boolean>>> sCallbacks = new ArrayList<>();
+ private static boolean mLastExists;
static {
try {
@@ -73,6 +74,7 @@
private static void onDockedStackExistsChanged(boolean exists) {
+ mLastExists = exists;
synchronized (sCallbacks) {
sCallbacks.removeIf(wf -> {
Consumer<Boolean> l = wf.get();
@@ -83,6 +85,7 @@
}
public static void register(Consumer<Boolean> callback) {
+ callback.accept(mLastExists);
synchronized (sCallbacks) {
sCallbacks.add(new WeakReference<>(callback));
}