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

Commit eddef669 authored by Lucas Dupin's avatar Lucas Dupin Committed by Android (Google) Code Review
Browse files

Merge "Simplify KeyguardBottomAreaView reinflation logic" into qt-dev

parents 5779ed51 00ebe13c
Loading
Loading
Loading
Loading
+8 −16
Original line number Diff line number Diff line
@@ -143,11 +143,6 @@ public class KeyguardIndicationController implements StateListener,
            StatusBarStateController statusBarStateController,
            KeyguardUpdateMonitor keyguardUpdateMonitor) {
        mContext = context;
        mIndicationArea = indicationArea;
        mTextView = indicationArea.findViewById(R.id.keyguard_indication_text);
        mInitialTextColorState = mTextView != null ?
                mTextView.getTextColors() : ColorStateList.valueOf(Color.WHITE);
        mDisclosure = indicationArea.findViewById(R.id.keyguard_indication_enterprise_disclosure);
        mLockIcon = lockIcon;
        mShadeController = shadeController;
        mAccessibilityController = accessibilityController;
@@ -172,6 +167,7 @@ public class KeyguardIndicationController implements StateListener,

        mDevicePolicyManager = (DevicePolicyManager) context.getSystemService(
                Context.DEVICE_POLICY_SERVICE);
        setIndicationArea(indicationArea);
        updateDisclosure();

        mKeyguardUpdateMonitor.registerCallback(getKeyguardCallback());
@@ -180,17 +176,13 @@ public class KeyguardIndicationController implements StateListener,
        mUnlockMethodCache.addListener(this);
    }

    /**
     * Used by {@link com.android.systemui.statusbar.phone.StatusBar} to give the indication
     * controller a chance to unregister itself as a receiver.
     *
     * //TODO: This can probably be converted to a fragment and not have to be manually recreated
     */
    public void destroy() {
        mKeyguardUpdateMonitor.removeCallback(mTickReceiver);
        mKeyguardUpdateMonitor.removeCallback(getKeyguardCallback());
        mStatusBarStateController.removeCallback(this);
        mUnlockMethodCache.removeListener(this);
    public void setIndicationArea(ViewGroup indicationArea) {
        mIndicationArea = indicationArea;
        mTextView = indicationArea.findViewById(R.id.keyguard_indication_text);
        mInitialTextColorState = mTextView != null ?
                mTextView.getTextColors() : ColorStateList.valueOf(Color.WHITE);
        mDisclosure = indicationArea.findViewById(R.id.keyguard_indication_enterprise_disclosure);
        updateIndication(false /* animate */);
    }

    private boolean handleLockLongClick(View view) {
+0 −11
Original line number Diff line number Diff line
@@ -133,7 +133,6 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
    private LockPatternUtils mLockPatternUtils;
    private FlashlightController mFlashlightController;
    private PreviewInflater mPreviewInflater;
    private KeyguardIndicationController mIndicationController;
    private AccessibilityController mAccessibilityController;
    private StatusBar mStatusBar;
    private KeyguardAffordanceHelper mAffordanceHelper;
@@ -221,7 +220,6 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
    };

    public void initFrom(KeyguardBottomAreaView oldBottomArea) {
        setKeyguardIndicationController(oldBottomArea.mIndicationController);
        setStatusBar(oldBottomArea.mStatusBar);
    }

@@ -707,15 +705,6 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
                }
            };

    public void setKeyguardIndicationController(
            KeyguardIndicationController keyguardIndicationController) {
        mIndicationController = keyguardIndicationController;
    }

    public void showTransientIndication(int id) {
        mIndicationController.showTransientIndication(id);
    }

    public void updateLeftAffordance() {
        updateLeftAffordanceIcon();
        updateLeftPreview();
+5 −2
Original line number Diff line number Diff line
@@ -337,6 +337,7 @@ public class NotificationPanelView extends PanelView implements
     * work, check the current id with the cached id.
     */
    private int mThemeResId;
    private KeyguardIndicationController mKeyguardIndicationController;

    @Inject
    public NotificationPanelView(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
@@ -516,6 +517,7 @@ public class NotificationPanelView extends PanelView implements
        mKeyguardBottomArea.initFrom(oldBottomArea);
        addView(mKeyguardBottomArea, index);
        initBottomArea();
        mKeyguardIndicationController.setIndicationArea(mKeyguardBottomArea);
        onDozeAmountChanged(mStatusBarStateController.getDozeAmount(),
                mStatusBarStateController.getInterpolatedDozeAmount());

@@ -535,7 +537,8 @@ public class NotificationPanelView extends PanelView implements
    }

    public void setKeyguardIndicationController(KeyguardIndicationController indicationController) {
        mKeyguardBottomArea.setKeyguardIndicationController(indicationController);
        mKeyguardIndicationController = indicationController;
        mKeyguardIndicationController.setIndicationArea(mKeyguardBottomArea);
    }

    @Override
@@ -3045,7 +3048,7 @@ public class NotificationPanelView extends PanelView implements
    }

    public void showTransientIndication(int id) {
        mKeyguardBottomArea.showTransientIndication(id);
        mKeyguardIndicationController.showTransientIndication(id);
    }

    @Override
+0 −12
Original line number Diff line number Diff line
@@ -1166,18 +1166,6 @@ public class StatusBar extends SystemUI implements DemoMode,

    @Override
    public void onThemeChanged() {
        // Recreate Indication controller because internal references changed
        if (mKeyguardIndicationController != null) {
            mKeyguardIndicationController.destroy();
        }
        mKeyguardIndicationController =
                SystemUIFactory.getInstance().createKeyguardIndicationController(mContext,
                        mStatusBarWindow.findViewById(R.id.keyguard_indication_area),
                        mStatusBarWindow.findViewById(R.id.lock_icon));
        mNotificationPanel.setKeyguardIndicationController(mKeyguardIndicationController);
        mKeyguardIndicationController
                .setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager);
        mKeyguardIndicationController.setVisible(mState == StatusBarState.KEYGUARD);
        if (mStatusBarKeyguardViewManager != null) {
            mStatusBarKeyguardViewManager.onThemeChanged();
        }
+0 −5
Original line number Diff line number Diff line
@@ -284,10 +284,5 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
        verify(mUnlockMethodCache).addListener(eq(mController));
        verify(mStatusBarStateController).addCallback(eq(mController));
        verify(mKeyguardUpdateMonitor, times(2)).registerCallback(any());

        mController.destroy();
        verify(mUnlockMethodCache).removeListener(eq(mController));
        verify(mStatusBarStateController).removeCallback(eq(mController));
        verify(mKeyguardUpdateMonitor, times(2)).removeCallback(any());
    }
}
Loading