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

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

Fix bugs in cast QS tile

 - Don't unregister if alread unregistered
 - Post to make the magic posting gods happy

Test: click cast tile
Change-Id: Id687a4c755d43ca5cc0cceeee7ce8dfe65e962c6
Fixes: 37718562
Fixes: 38016765
parent 5286b965
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ public class CastTile extends QSTileImpl<BooleanState> {
    private final Callback mCallback = new Callback();
    private final ActivityStarter mActivityStarter;
    private Dialog mDialog;
    private boolean mRegistered;

    public CastTile(QSHost host) {
        super(host);
@@ -146,7 +147,7 @@ public class CastTile extends QSTileImpl<BooleanState> {
                mDialog = dialog;
            }
            mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL);
            mDialog.show();
            mUiHandler.post(() -> mDialog.show());
            registerReceiver();
            mHost.collapsePanels();
        });
@@ -155,7 +156,13 @@ public class CastTile extends QSTileImpl<BooleanState> {
    private void registerReceiver() {
        mContext.registerReceiverAsUser(mReceiver, UserHandle.CURRENT,
                new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS), null, null);
        mDialog.setOnDismissListener(dialog -> mContext.unregisterReceiver(mReceiver));
        mRegistered = true;
        mDialog.setOnDismissListener(dialog -> {
            if (mRegistered) {
                mContext.unregisterReceiver(mReceiver);
                mRegistered = false;
            }
        });
    }

    @Override