SystemUI 下拉状态栏与收起时顶部状态栏图标的显示与隐藏逻辑

不积跬步无以至千里

         这里是常见的一种场景现象,当你下拉状态栏的时候,发现顶不住的状态栏图标消失了,而QuickSettings中的图标出现了;而当你把状态栏下拉的panel收起来时,这时候顶部状态栏的图标又出现了。

这里就把状态栏的隐藏与显示的逻辑在这里说一下

1.状态栏下拉顶部状态栏消失,PanelView中QuickSetting上方的图标显示的代码

代码路径:

app/src/com/android/systemui/statusbar/phone/StatusBar.java

//状态栏下拉显示
void makeExpandedVisible(boolean force) {
        ...
        visibilityChanged(true);
        //这里就是状态栏消失的调用[start]
        recomputeDisableFlags(!force /* animate */);
        //这里就是状态栏消失的调用[end]
        setInteracting(StatusBarManager.WINDOW_STATUS_BAR, true);
    }

2.PanelView收起来,顶部状态栏显示出来

代码路径:

app/src/com/android/systemui/statusbar/phone/StatusBar.java

//状态栏收起,顶部状态栏图标显示
void makeExpandedInvisible() {
        ...
        showBouncerIfKeyguard();
        //顶部状态栏图标显示方法调用[start]
        recomputeDisableFlags(mNotificationPanel.hideStatusB

猜你喜欢

转载自blog.csdn.net/WDYShowTime/article/details/105161204