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

Commit 9175a4b7 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Misc] Only create KeyguardStatusBarViewController once inside...

Merge "[Misc] Only create KeyguardStatusBarViewController once inside NotificationPanelViewController." into sc-v2-dev
parents c241a194 da6f1e80
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -107,12 +107,6 @@ public class BatteryMeterViewController extends ViewController<BatteryMeterView>

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

    @Override
    public void destroy() {
        super.destroy();
        mConfigurationController.removeCallback(mConfigurationListener);
        unsubscribeFromTunerUpdates();
        mCurrentUserTracker.stopTracking();
+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
@@ -884,10 +884,14 @@ public class NotificationPanelViewController extends PanelViewController {
            }
        }

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

        updateViewControllers(
                mView.findViewById(R.id.keyguard_status_view),
                userAvatarView,
                mKeyguardStatusBar,
                keyguardUserSwitcherView);
        mNotificationContainerParent = mView.findViewById(R.id.notification_container_parent);
        NotificationStackScrollLayout stackScrollLayout = mView.findViewById(
@@ -979,7 +983,6 @@ public class NotificationPanelViewController extends PanelViewController {

    private void updateViewControllers(KeyguardStatusView keyguardStatusView,
            UserAvatarView userAvatarView,
            KeyguardStatusBarView keyguardStatusBarView,
            KeyguardUserSwitcherView keyguardUserSwitcherView) {
        // Re-associate the KeyguardStatusViewController
        KeyguardStatusViewComponent statusViewComponent =
@@ -987,16 +990,6 @@ public class NotificationPanelViewController extends PanelViewController {
        mKeyguardStatusViewController = statusViewComponent.getKeyguardStatusViewController();
        mKeyguardStatusViewController.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 (mKeyguardUserSwitcherController != null) {
            // Try to close the switcher so that callbacks are triggered if necessary.
            // Otherwise, NPV can get into a state where some of the views are still hidden
@@ -1156,7 +1149,7 @@ public class NotificationPanelViewController extends PanelViewController {

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

        // Update keyguard bottom area
        int index = mView.indexOfChild(mKeyguardBottomArea);
+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.
     */