Merge "Simplify KeyguardBottomAreaView reinflation logic" into qt-dev
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,8 +22,6 @@ class KeyguardBottomAreaTest : SysuiTestCase() {
|
||||
|
||||
@Mock
|
||||
private lateinit var mStatusBar: StatusBar
|
||||
@Mock
|
||||
private lateinit var mKeyguardIndicationController: KeyguardIndicationController
|
||||
private lateinit var mKeyguardBottomArea: KeyguardBottomAreaView
|
||||
|
||||
@Before
|
||||
@@ -32,7 +30,6 @@ class KeyguardBottomAreaTest : SysuiTestCase() {
|
||||
mKeyguardBottomArea = LayoutInflater.from(mContext).inflate(
|
||||
R.layout.keyguard_bottom_area, null, false) as KeyguardBottomAreaView
|
||||
mKeyguardBottomArea.setStatusBar(mStatusBar)
|
||||
mKeyguardBottomArea.setKeyguardIndicationController(mKeyguardIndicationController)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user