diff options
4 files changed, 23 insertions, 23 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index a46ab3a9e35b..58698151b655 100644 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -15,8 +15,6 @@ */ package com.android.systemui; -import static android.app.StatusBarManager.DISABLE2_SYSTEM_ICONS; -import static android.app.StatusBarManager.DISABLE_NONE; import static android.provider.Settings.System.SHOW_BATTERY_PERCENT; import static com.android.systemui.DejankUtils.whitelistIpcs; @@ -56,7 +54,6 @@ import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.settings.CurrentUserTracker; -import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback; @@ -64,7 +61,6 @@ import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; -import com.android.systemui.util.Utils.DisableStateTracker; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -137,11 +133,6 @@ public class BatteryMeterView extends LinearLayout implements mShowPercentAvailable = context.getResources().getBoolean( com.android.internal.R.bool.config_battery_percentage_setting_available); - - addOnAttachStateChangeListener( - new DisableStateTracker(DISABLE_NONE, DISABLE2_SYSTEM_ICONS, - Dependency.get(CommandQueue.class))); - setupLayoutTransition(); mSlotBattery = context.getString( diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java index e03db2c8b9c6..39f5847ce2a6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java @@ -14,6 +14,7 @@ package com.android.systemui.statusbar.phone; +import static android.app.StatusBarManager.DISABLE2_SYSTEM_ICONS; import static android.app.StatusBarManager.DISABLE_CLOCK; import static android.app.StatusBarManager.DISABLE_NOTIFICATION_ICONS; import static android.app.StatusBarManager.DISABLE_SYSTEM_INFO; @@ -63,6 +64,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private View mNotificationIconAreaInner; private View mCenteredIconArea; private int mDisabled1; + private int mDisabled2; private StatusBar mStatusBarComponent; private DarkIconManager mDarkIconManager; private View mOperatorNameFrame; @@ -173,9 +175,12 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue state1 = adjustDisableFlags(state1); final int old1 = mDisabled1; final int diff1 = state1 ^ old1; + final int old2 = mDisabled2; + final int diff2 = state2 ^ old2; mDisabled1 = state1; - if ((diff1 & DISABLE_SYSTEM_INFO) != 0) { - if ((state1 & DISABLE_SYSTEM_INFO) != 0) { + mDisabled2 = state2; + if ((diff1 & DISABLE_SYSTEM_INFO) != 0 || ((diff2 & DISABLE2_SYSTEM_ICONS) != 0)) { + if ((state1 & DISABLE_SYSTEM_INFO) != 0 || ((state2 & DISABLE2_SYSTEM_ICONS) != 0)) { hideSystemIconArea(animate); hideOperatorName(animate); } else { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index b65bd45ce11c..8ee0bdf2938a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -18,6 +18,9 @@ package com.android.systemui.statusbar.phone; import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT; import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT; +import static android.app.StatusBarManager.DISABLE2_SYSTEM_ICONS; +import static android.app.StatusBarManager.DISABLE_CLOCK; +import static android.app.StatusBarManager.DISABLE_NOTIFICATION_ICONS; import static android.app.StatusBarManager.WINDOW_STATE_HIDDEN; import static android.app.StatusBarManager.WINDOW_STATE_SHOWING; import static android.app.StatusBarManager.WindowType; @@ -305,6 +308,7 @@ public class StatusBar extends SystemUI implements DemoMode, public static final int FADE_KEYGUARD_DURATION = 300; public static final int FADE_KEYGUARD_DURATION_PULSING = 96; + /** If true, the system is in the half-boot-to-decryption-screen state. * Prudently disable QS and notifications. */ public static final boolean ONLY_CORE_APPS; @@ -4177,6 +4181,7 @@ public class StatusBar extends SystemUI implements DemoMode, @Override public void setTopAppHidesStatusBar(boolean topAppHidesStatusBar) { mTopHidesStatusBar = topAppHidesStatusBar; + updateStatusBarIcons(topAppHidesStatusBar); if (!topAppHidesStatusBar && mWereIconsJustHidden) { // Immediately update the icon hidden state, since that should only apply if we're // staying fullscreen. @@ -4186,6 +4191,17 @@ public class StatusBar extends SystemUI implements DemoMode, updateHideIconsForBouncer(true /* animate */); } + private void updateStatusBarIcons(boolean topAppHidesStatusBar) { + int flags1 = StatusBarManager.DISABLE_NONE; + int flags2 = StatusBarManager.DISABLE2_NONE; + if (topAppHidesStatusBar) { + flags1 = DISABLE_NOTIFICATION_ICONS | DISABLE_CLOCK; + flags2 = DISABLE2_SYSTEM_ICONS; + } + + mCommandQueue.disable(mDisplayId, flags1, flags2, false); + } + protected void toggleKeyboardShortcuts(int deviceId) { KeyboardShortcuts.toggle(mContext, deviceId); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java index 93df14f18fda..3ae84ecfc2f0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java @@ -14,9 +14,6 @@ package com.android.systemui.statusbar.phone; -import static android.app.StatusBarManager.DISABLE2_SYSTEM_ICONS; -import static android.app.StatusBarManager.DISABLE_NONE; - import static com.android.systemui.statusbar.phone.StatusBarIconHolder.TYPE_ICON; import static com.android.systemui.statusbar.phone.StatusBarIconHolder.TYPE_MOBILE; import static com.android.systemui.statusbar.phone.StatusBarIconHolder.TYPE_WIFI; @@ -47,7 +44,6 @@ import com.android.systemui.statusbar.StatusBarWifiView; import com.android.systemui.statusbar.StatusIconDisplayable; import com.android.systemui.statusbar.phone.StatusBarSignalPolicy.MobileIconState; import com.android.systemui.statusbar.phone.StatusBarSignalPolicy.WifiIconState; -import com.android.systemui.util.Utils.DisableStateTracker; import java.util.List; @@ -218,14 +214,6 @@ public interface StatusBarIconController { mContext = group.getContext(); mIconSize = mContext.getResources().getDimensionPixelSize( com.android.internal.R.dimen.status_bar_icon_size); - - DisableStateTracker tracker = - new DisableStateTracker(DISABLE_NONE, DISABLE2_SYSTEM_ICONS, commandQueue); - mGroup.addOnAttachStateChangeListener(tracker); - if (mGroup.isAttachedToWindow()) { - // In case we miss the first onAttachedToWindow event - tracker.onViewAttachedToWindow(mGroup); - } } public boolean isDemoable() { |