Android 12如何使锁屏界面状态栏ICON显示与桌面状态栏保持一致

1.相关类

  • CollapsedStatusBarFragment.java
  • StatusBar.java

2.原生隐藏控制逻辑
Android12 在锁屏界面开启时,状态栏显示电池电量,SIM状态和网络状态,隐藏掉了时间和通知等的显示(PanelView这些都会显示)
那么它是如何控制的呢?
在CollapsedStatusBarFragment.java中有一些flag可以控制,核心控制逻辑在adjustDisableFlags()方法中:

protected int adjustDisableFlags(int state) {boolean headsUpVisible = mStatusBarComponent.headsUpShouldBeVisible();if (headsUpVisible) {state |= DISABLE_CLOCK;}//下面的三个Flag就可以控制相关ICON显示if (!mKeyguardStateController.isLaunchTransitionFadingAway()&& !mKeyguardStateController.isKeyguardFadingAway()&& shouldHideNotificationIcons()&& !(mStatusBarStateController.getState() == StatusBarState.KEYGUARD&& headsUpVisible)) {state |= DISABLE_NOTIFICATION_ICONS;state |= DISABLE_SYSTEM_INFO;state |= DISABLE_CLOCK;}if (mNetworkController != null && EncryptionHelper.IS_DATA_ENCRYPTED) {if (mNetworkController.hasEmergencyCryptKeeperText()) {state |= DISABLE_NOTIFICATION_ICONS;}if (!mNetworkController.isRadioOn()) {state |= DISABLE_SYSTEM_INFO;}}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部