summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Selim Cinek <cinek@google.com> 2019-06-19 17:24:59 -0700
committer Selim Cinek <cinek@google.com> 2019-06-20 23:19:21 +0000
commitd34e9d889a15f112f798d605fa34b5c158e0ec00 (patch)
tree4f73299b7f52e26d2c1f322de2029fcb0138a7e6
parent71acb72cbdc6c12574727eb47b703704fae47763 (diff)
DO NOT MERGE: Fixed an issue about notification icons on AOD
Previously low priority notifications were hidden on AOD unconditionally which is wrong. Bug: 135627468 Test: atest SystemUITests Merged-in: Ia64238f30620d9906aa50c2469121c2653875e8d Change-Id: Ia64238f30620d9906aa50c2469121c2653875e8d
-rw-r--r--packages/SystemUI/src/com/android/systemui/SystemUIFactory.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java27
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java3
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java88
4 files changed, 6 insertions, 117 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
index 0fdab014439b..d815d95f23d5 100644
--- a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
@@ -144,10 +144,9 @@ public class SystemUIFactory {
}
public NotificationIconAreaController createNotificationIconAreaController(Context context,
- StatusBar statusBar, StatusBarStateController statusBarStateController,
- NotificationListener listener) {
+ StatusBar statusBar, StatusBarStateController statusBarStateController) {
return new NotificationIconAreaController(context, statusBar, statusBarStateController,
- listener, Dependency.get(NotificationMediaManager.class));
+ Dependency.get(NotificationMediaManager.class));
}
public KeyguardIndicationController createKeyguardIndicationController(Context context,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
index 98505cf38afa..f52becaf7b00 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
@@ -48,19 +48,6 @@ public class NotificationIconAreaController implements DarkReceiver,
private final Runnable mUpdateStatusBarIcons = this::updateStatusBarIcons;
private final StatusBarStateController mStatusBarStateController;
private final NotificationMediaManager mMediaManager;
- @VisibleForTesting
- final NotificationListener.NotificationSettingsListener mSettingsListener =
- new NotificationListener.NotificationSettingsListener() {
- @Override
- public void onStatusBarIconsBehaviorChanged(boolean hideSilentStatusIcons) {
- if (NotificationUtils.useNewInterruptionModel(mContext)) {
- mShowLowPriority = !hideSilentStatusIcons;
- if (mNotificationScrollLayout != null) {
- updateStatusBarIcons();
- }
- }
- }
- };
private int mIconSize;
private int mIconHPadding;
@@ -78,7 +65,6 @@ public class NotificationIconAreaController implements DarkReceiver,
private ViewGroup mNotificationScrollLayout;
private Context mContext;
private boolean mFullyDark;
- private boolean mShowLowPriority = true;
private boolean mAnimationsEnabled;
/**
@@ -88,7 +74,6 @@ public class NotificationIconAreaController implements DarkReceiver,
public NotificationIconAreaController(Context context, StatusBar statusBar,
StatusBarStateController statusBarStateController,
- NotificationListener notificationListener,
NotificationMediaManager notificationMediaManager) {
mStatusBar = statusBar;
mContrastColorUtil = ContrastColorUtil.getInstance(context);
@@ -97,7 +82,6 @@ public class NotificationIconAreaController implements DarkReceiver,
mStatusBarStateController = statusBarStateController;
mStatusBarStateController.addCallback(this);
mMediaManager = notificationMediaManager;
- notificationListener.addNotificationSettingsListener(mSettingsListener);
initializeNotificationAreaViews(context);
}
@@ -258,7 +242,7 @@ public class NotificationIconAreaController implements DarkReceiver,
private void updateShelfIcons() {
updateIconsForLayout(entry -> entry.expandedIcon, mShelfIcons,
true /* showAmbient */,
- !mFullyDark /* showLowPriority */,
+ true /* showLowPriority */,
false /* hideDismissed */,
mFullyDark /* hideRepliedMessages */,
mFullyDark /* hideCurrentMedia */,
@@ -268,7 +252,7 @@ public class NotificationIconAreaController implements DarkReceiver,
public void updateStatusBarIcons() {
updateIconsForLayout(entry -> entry.icon, mNotificationIcons,
false /* showAmbient */,
- mShowLowPriority /* showLowPriority */,
+ true /* showLowPriority */,
true /* hideDismissed */,
true /* hideRepliedMessages */,
false /* hideCurrentMedia */,
@@ -278,7 +262,7 @@ public class NotificationIconAreaController implements DarkReceiver,
private void updateCenterIcon() {
updateIconsForLayout(entry -> entry.centeredIcon, mCenteredIcon,
false /* showAmbient */,
- !mFullyDark /* showLowPriority */,
+ true /* showLowPriority */,
false /* hideDismissed */,
false /* hideRepliedMessages */,
mFullyDark /* hideCurrentMedia */,
@@ -304,11 +288,6 @@ public class NotificationIconAreaController implements DarkReceiver,
mNotificationIcons.setAnimationsEnabled(mAnimationsEnabled && inShade);
}
- @VisibleForTesting
- boolean shouldShouldLowPriorityIcons() {
- return mShowLowPriority;
- }
-
/**
* Updates the notification icons for a host layout. This will ensure that the notification
* host layout will have the same icons like the ones in here.
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 cf07f5c0230b..1aa8bd79af35 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -795,8 +795,7 @@ public class StatusBar extends SystemUI implements DemoMode,
mNotificationLogger.setUpWithContainer(notifListContainer);
mNotificationIconAreaController = SystemUIFactory.getInstance()
- .createNotificationIconAreaController(context, this,
- mStatusBarStateController, mNotificationListener);
+ .createNotificationIconAreaController(context, this, mStatusBarStateController);
inflateShelf();
mNotificationIconAreaController.setupShelf(mNotificationShelf);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java
deleted file mode 100644
index 7f7a3e7e7cd6..000000000000
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.statusbar.phone;
-
-import static android.provider.Settings.Secure.NOTIFICATION_NEW_INTERRUPTION_MODEL;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import android.provider.Settings;
-import android.testing.AndroidTestingRunner;
-import android.testing.TestableLooper;
-
-import androidx.test.filters.SmallTest;
-
-import com.android.systemui.SysuiTestCase;
-import com.android.systemui.plugins.statusbar.StatusBarStateController;
-import com.android.systemui.statusbar.NotificationListener;
-import com.android.systemui.statusbar.NotificationMediaManager;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@SmallTest
-@RunWith(AndroidTestingRunner.class)
-@TestableLooper.RunWithLooper
-public class NotificationIconAreaControllerTest extends SysuiTestCase {
-
- @Mock
- private NotificationListener mListener;
- @Mock
- StatusBar mStatusBar;
- @Mock
- StatusBarStateController mStatusBarStateController;
- @Mock
- private NotificationMediaManager mMediaManager;
- private NotificationIconAreaController mController;
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
-
- mController = new NotificationIconAreaController(mContext, mStatusBar,
- mStatusBarStateController, mListener, mMediaManager);
- }
-
- @Test
- public void testNotificationIcons_featureOff() {
- Settings.Secure.putInt(
- mContext.getContentResolver(), NOTIFICATION_NEW_INTERRUPTION_MODEL, 0);
- assertTrue(mController.shouldShouldLowPriorityIcons());
- }
-
- @Test
- public void testNotificationIcons_featureOn_settingHideIcons() {
- Settings.Secure.putInt(
- mContext.getContentResolver(), NOTIFICATION_NEW_INTERRUPTION_MODEL, 1);
- mController.mSettingsListener.onStatusBarIconsBehaviorChanged(true);
-
- assertFalse(mController.shouldShouldLowPriorityIcons());
- }
-
- @Test
- public void testNotificationIcons_featureOn_settingShowIcons() {
- Settings.Secure.putInt(
- mContext.getContentResolver(), NOTIFICATION_NEW_INTERRUPTION_MODEL, 1);
- mController.mSettingsListener.onStatusBarIconsBehaviorChanged(false);
-
- assertTrue(mController.shouldShouldLowPriorityIcons());
- }
-}