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

Commit a2c525fe authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "Remove observer when QSBH is detached" into rvc-dev

parents 2e0fd15e 9ebcda07
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ public class QuickStatusBarHeader extends RelativeLayout implements
    private Clock mClockView;
    private DateView mDateView;
    private BatteryMeterView mBatteryRemainingIcon;
    private RingerModeTracker mRingerModeTracker;

    // Used for RingerModeTracker
    private final LifecycleRegistry mLifecycle = new LifecycleRegistry(this);
@@ -159,10 +160,7 @@ public class QuickStatusBarHeader extends RelativeLayout implements
        mDualToneHandler = new DualToneHandler(
                new ContextThemeWrapper(context, R.style.QSHeaderTheme));
        mCommandQueue = commandQueue;
        ringerModeTracker.getRingerModeInternal().observe(this, ringer -> {
            mRingerMode = ringer;
            updateStatusText();
        });
        mRingerModeTracker = ringerModeTracker;
    }

    @Override
@@ -429,6 +427,10 @@ public class QuickStatusBarHeader extends RelativeLayout implements
    @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        mRingerModeTracker.getRingerModeInternal().observe(this, ringer -> {
            mRingerMode = ringer;
            updateStatusText();
        });
        mStatusBarIconController.addIconGroup(mIconManager);
        requestApplyInsets();
    }
@@ -466,6 +468,7 @@ public class QuickStatusBarHeader extends RelativeLayout implements
    @VisibleForTesting
    public void onDetachedFromWindow() {
        setListening(false);
        mRingerModeTracker.getRingerModeInternal().removeObservers(this);
        mStatusBarIconController.removeIconGroup(mIconManager);
        super.onDetachedFromWindow();
    }