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

Commit 0c2b77e5 authored by Caitlin Cassidy's avatar Caitlin Cassidy
Browse files

[Misc] Only create KeyguardStatusBarViewController once inside

NotificationPanelViewController.

The KeyguardStatusBarView never changes, so we don't need to
re-create its controller in NPVController#updateViewControllers.

Fixes: 194181195
Test: atest and manual

Change-Id: If955a8d6167a08bec6e7a7e9e66a2c6a55f68966
parent 02ce38c2
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -47,12 +47,6 @@ public class BatteryMeterViewController extends ViewController<BatteryMeterView>

    @Override
    protected void onViewDetached() {
        destroy();
    }

    @Override
    public void destroy() {
        super.destroy();
        mConfigurationController.removeCallback(mConfigurationListener);
    }
}
 No newline at end of file
+0 −11
Original line number Diff line number Diff line
@@ -159,17 +159,6 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat

    @Override
    protected void onViewDetached() {
        destroy();
    }

    @Override
    public void destroy() {
        // Don't receive future #onViewAttached calls so that we don't accidentally have two
        // controllers registered for the same view.
        // TODO(b/194181195): This shouldn't be necessary.
        super.destroy();
        mBatteryMeterViewController.destroy();

        mConfigurationController.removeCallback(mConfigurationListener);
        mAnimationScheduler.removeCallback(mAnimationCallback);
        mUserInfoController.removeCallback(mOnUserInfoChangedListener);
+6 −13
Original line number Diff line number Diff line
@@ -928,10 +928,14 @@ public class NotificationPanelViewController extends PanelViewController {
            }
        }

        mKeyguardStatusBarViewController =
                mKeyguardStatusBarViewComponentFactory.build(mKeyguardStatusBar)
                        .getKeyguardStatusBarViewController();
        mKeyguardStatusBarViewController.init();

        updateViewControllers(
                mView.findViewById(R.id.keyguard_status_view),
                userAvatarView,
                mKeyguardStatusBar,
                keyguardUserSwitcherView,
                mCommunalView,
                mView.findViewById(R.id.idle_host_view));
@@ -1025,7 +1029,6 @@ public class NotificationPanelViewController extends PanelViewController {

    private void updateViewControllers(KeyguardStatusView keyguardStatusView,
            UserAvatarView userAvatarView,
            KeyguardStatusBarView keyguardStatusBarView,
            KeyguardUserSwitcherView keyguardUserSwitcherView,
            CommunalHostView communalView,
            IdleHostView idleHostView) {
@@ -1039,16 +1042,6 @@ public class NotificationPanelViewController extends PanelViewController {
        mIdleHostViewController = idleViewComponent.getIdleHostViewController();
        mIdleHostViewController.init();

        KeyguardStatusBarViewComponent statusBarViewComponent =
                mKeyguardStatusBarViewComponentFactory.build(keyguardStatusBarView);
        if (mKeyguardStatusBarViewController != null) {
            // TODO(b/194181195): This shouldn't be necessary.
            mKeyguardStatusBarViewController.destroy();
        }
        mKeyguardStatusBarViewController =
                statusBarViewComponent.getKeyguardStatusBarViewController();
        mKeyguardStatusBarViewController.init();

        if (communalView != null) {
            CommunalViewComponent communalViewComponent =
                    mCommunalViewComponentFactory.build(communalView);
@@ -1217,7 +1210,7 @@ public class NotificationPanelViewController extends PanelViewController {

        mBigClockContainer.removeAllViews();
        updateViewControllers(mView.findViewById(R.id.keyguard_status_view), userAvatarView,
                mKeyguardStatusBar, keyguardUserSwitcherView, mCommunalView,
                keyguardUserSwitcherView, mCommunalView,
                mView.findViewById(R.id.idle_host_view));

        // Update keyguard bottom area
+0 −10
Original line number Diff line number Diff line
@@ -109,16 +109,6 @@ public abstract class ViewController<T extends View> {
        }
    }

    /**
     * Destroys this controller so that it never receives view attach and detach events again.
     * Does nothing if the view is null.
     */
    public void destroy() {
        if (mView != null) {
            mView.removeOnAttachStateChangeListener(mOnAttachStateListener);
        }
    }

    /**
     * Called when the view is attached and a call to {@link #init()} has been made in either order.
     */