diff options
| author | 2018-04-03 19:46:29 +0000 | |
|---|---|---|
| committer | 2018-04-03 19:46:29 +0000 | |
| commit | 02327e408050f7179e5f3004500044b1bec011bf (patch) | |
| tree | cf8eab3a650e349619fe66d6db341afac3ea1b49 | |
| parent | cbea0a76c62a8052fee3d5f735657f8959737b9e (diff) | |
| parent | 4b68e2f7856406d714837f1abc4f43a6cea0b57e (diff) | |
Merge "Add DISABLE_CLOCK flags to status bar, fix transitions" into pi-dev
4 files changed, 39 insertions, 12 deletions
diff --git a/packages/SystemUI/res/layout/status_bar.xml b/packages/SystemUI/res/layout/status_bar.xml index 9d336e25985f..f0138a6e2212 100644 --- a/packages/SystemUI/res/layout/status_bar.xml +++ b/packages/SystemUI/res/layout/status_bar.xml @@ -60,7 +60,11 @@ <include layout="@layout/heads_up_status_bar_layout" /> + <!-- The alpha of the left side is controlled by PhoneStatusBarTransitions, and the + individual views are controlled by StatusBarManager disable flags DISABLE_CLOCK and + DISABLE_NOTIFICATION_ICONS, respectively --> <LinearLayout + android:id="@+id/status_bar_left_side" android:layout_height="match_parent" android:layout_width="match_parent" android:clipChildren="false" @@ -76,8 +80,6 @@ android:gravity="center_vertical|start" /> - <!-- The alpha of this area is controlled from both PhoneStatusBarTransitions and - PhoneStatusBar (DISABLE_NOTIFICATION_ICONS). --> <com.android.systemui.statusbar.AlphaOptimizedFrameLayout android:id="@+id/notification_icon_area" android:layout_width="0dp" 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 75b31c5a1edd..9fcb0905263c 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.DISABLE_CLOCK; import static android.app.StatusBarManager.DISABLE_NOTIFICATION_ICONS; import static android.app.StatusBarManager.DISABLE_SYSTEM_INFO; @@ -96,6 +97,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue mSystemIconArea = mStatusBar.findViewById(R.id.system_icon_area); mClockView = mStatusBar.findViewById(R.id.clock); showSystemIconArea(false); + showClock(false); initEmergencyCryptkeeperText(); initOperatorName(); } @@ -163,6 +165,13 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue showNotificationIconArea(animate); } } + if ((diff1 & DISABLE_CLOCK) != 0) { + if ((state1 & DISABLE_CLOCK) != 0) { + hideClock(animate); + } else { + showClock(animate); + } + } } protected int adjustDisableFlags(int state) { @@ -171,6 +180,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue && shouldHideNotificationIcons()) { state |= DISABLE_NOTIFICATION_ICONS; state |= DISABLE_SYSTEM_INFO; + state |= DISABLE_CLOCK; } if (mNetworkController != null && EncryptionHelper.IS_DATA_ENCRYPTED) { if (mNetworkController.hasEmergencyCryptKeeperText()) { @@ -195,11 +205,17 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue public void hideSystemIconArea(boolean animate) { animateHide(mSystemIconArea, animate); - animateHide(mClockView, animate); } public void showSystemIconArea(boolean animate) { animateShow(mSystemIconArea, animate); + } + + public void hideClock(boolean animate) { + animateHide(mClockView, animate); + } + + public void showClock(boolean animate) { animateShow(mClockView, animate); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java index 12bdfc674f04..a7d5acaac765 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java @@ -43,10 +43,9 @@ public final class PhoneStatusBarTransitions extends BarTransitions { } public void init() { - mLeftSide = mView.findViewById(R.id.notification_icon_area); + mLeftSide = mView.findViewById(R.id.status_bar_left_side); mStatusIcons = mView.findViewById(R.id.statusIcons); mBattery = mView.findViewById(R.id.battery); - mClock = mView.findViewById(R.id.clock); applyModeBackground(-1, getMode(), false /*animate*/); applyMode(getMode(), false /*animate*/); } @@ -89,8 +88,7 @@ public final class PhoneStatusBarTransitions extends BarTransitions { anims.playTogether( animateTransitionTo(mLeftSide, newAlpha), animateTransitionTo(mStatusIcons, newAlpha), - animateTransitionTo(mBattery, newAlphaBC), - animateTransitionTo(mClock, newAlphaBC) + animateTransitionTo(mBattery, newAlphaBC) ); if (isLightsOut(mode)) { anims.setDuration(LIGHTS_OUT_DURATION); @@ -101,7 +99,6 @@ public final class PhoneStatusBarTransitions extends BarTransitions { mLeftSide.setAlpha(newAlpha); mStatusIcons.setAlpha(newAlpha); mBattery.setAlpha(newAlphaBC); - mClock.setAlpha(newAlphaBC); } } }
\ No newline at end of file diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragmentTest.java index 2edcd01ed445..9e8fa2243ccc 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragmentTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragmentTest.java @@ -89,15 +89,11 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { assertEquals(View.INVISIBLE, mFragment.getView().findViewById(R.id.system_icon_area) .getVisibility()); - assertEquals(View.INVISIBLE, mFragment.getView().findViewById(R.id.clock) - .getVisibility()); fragment.disable(0, 0, false); assertEquals(View.VISIBLE, mFragment.getView().findViewById(R.id.system_icon_area) .getVisibility()); - assertEquals(View.VISIBLE, mFragment.getView().findViewById(R.id.clock) - .getVisibility()); } @Test @@ -115,4 +111,20 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { Mockito.verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.VISIBLE)); } + + @Test + public void testDisableClock() throws Exception { + mFragments.dispatchResume(); + processAllMessages(); + + CollapsedStatusBarFragment fragment = (CollapsedStatusBarFragment) mFragment; + fragment.initNotificationIconArea(mMockNotificiationAreaController); + fragment.disable(StatusBarManager.DISABLE_CLOCK, 0, false); + + assertEquals(View.INVISIBLE, mFragment.getView().findViewById(R.id.clock).getVisibility()); + + fragment.disable(0, 0, false); + + assertEquals(View.VISIBLE, mFragment.getView().findViewById(R.id.clock).getVisibility()); + } } |