Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa74bf85 authored by Jason Monk's avatar Jason Monk
Browse files

Persist docked state so it doesn't get lost in re-inflates

Test: manual
Change-Id: If335f1cf52c7bce270ac746e6b0ed3a6e2b18b1b
Fixes: 64487667
parent e33e796d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ public class DockedStackExistsListener {
    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 @@ public class DockedStackExistsListener {


    private static void onDockedStackExistsChanged(boolean exists) {
        mLastExists = exists;
        synchronized (sCallbacks) {
            sCallbacks.removeIf(wf -> {
                Consumer<Boolean> l = wf.get();
@@ -83,6 +85,7 @@ public class DockedStackExistsListener {
    }

    public static void register(Consumer<Boolean> callback) {
        callback.accept(mLastExists);
        synchronized (sCallbacks) {
            sCallbacks.add(new WeakReference<>(callback));
        }