Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/AmbientStateTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -16,16 +16,22 @@ package com.android.systemui.statusbar.notification.stack import android.app.Notification import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.platform.test.flag.junit.FlagsParameterization import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.dump.DumpManager import com.android.systemui.flags.DisableSceneContainer import com.android.systemui.flags.andSceneContainer import com.android.systemui.res.R import com.android.systemui.shade.transition.LargeScreenShadeInterpolator import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository import com.android.systemui.statusbar.notification.headsup.AvalancheController import com.android.systemui.statusbar.notification.shared.NotificationBundleUi import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.whenever Loading @@ -33,6 +39,7 @@ import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyString import platform.test.runner.parameterized.ParameterizedAndroidJunit4 import platform.test.runner.parameterized.Parameters Loading Loading @@ -389,6 +396,36 @@ class AmbientStateTest(flags: FlagsParameterization) : SysuiTestCase() { assertThat(sut.isClosing).isFalse() } // endregion // region isPulsing @Test @EnableFlags(NotificationBundleUi.FLAG_NAME) fun isPulsing_key() { whenever(headsupRepository.isHeadsUpEntry(anyString())).thenReturn(true); sut.isPulsing = true assertThat(sut.isPulsing("key")).isTrue() whenever(headsupRepository.isHeadsUpEntry(anyString())).thenReturn(false); sut.isPulsing = true assertThat(sut.isPulsing("key")).isFalse() } @Test @DisableFlags(NotificationBundleUi.FLAG_NAME) fun isPulsing_entry() { val notification: Notification = Notification.Builder(mContext, "").setSmallIcon(R.drawable.ic_person).build() val entry = NotificationEntryBuilder().setNotification(notification).build() sut.isPulsing = true entry.setIsHeadsUpEntry(true) assertThat(sut.isPulsing(entry)).isTrue() sut.isPulsing = true entry.setIsHeadsUpEntry(false) assertThat(sut.isPulsing(entry)).isFalse() } // endregion } // region Arrange helper methods. Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java +10 −4 Original line number Diff line number Diff line Loading @@ -696,10 +696,13 @@ public class AmbientState implements Dumpable { return mPulsing; } public boolean isPulsing(String entryKey) { boolean isHeadsUp = mHeadsUpRepository.isHeadsUpEntry(entryKey); return mPulsing && isHeadsUp; } public boolean isPulsing(NotificationEntry entry) { boolean isHeadsUp = NotificationBundleUi.isEnabled() ? mHeadsUpRepository.isHeadsUpEntry(entry.getKey()) : entry.isHeadsUpEntry(); boolean isHeadsUp = entry.isHeadsUpEntry(); return mPulsing && isHeadsUp; } Loading Loading @@ -750,7 +753,10 @@ public class AmbientState implements Dumpable { * @return whether a row is dozing and not pulsing right now */ public boolean isDozingAndNotPulsing(ExpandableNotificationRow row) { return isDozing() && !isPulsing(row.getEntry()); boolean isPulsing = NotificationBundleUi.isEnabled() ? isPulsing(row.getKey()) : isPulsing(row.getEntryLegacy()); return isDozing() && !isPulsing; } /** Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/AmbientStateTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -16,16 +16,22 @@ package com.android.systemui.statusbar.notification.stack import android.app.Notification import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.platform.test.flag.junit.FlagsParameterization import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.dump.DumpManager import com.android.systemui.flags.DisableSceneContainer import com.android.systemui.flags.andSceneContainer import com.android.systemui.res.R import com.android.systemui.shade.transition.LargeScreenShadeInterpolator import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository import com.android.systemui.statusbar.notification.headsup.AvalancheController import com.android.systemui.statusbar.notification.shared.NotificationBundleUi import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.whenever Loading @@ -33,6 +39,7 @@ import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyString import platform.test.runner.parameterized.ParameterizedAndroidJunit4 import platform.test.runner.parameterized.Parameters Loading Loading @@ -389,6 +396,36 @@ class AmbientStateTest(flags: FlagsParameterization) : SysuiTestCase() { assertThat(sut.isClosing).isFalse() } // endregion // region isPulsing @Test @EnableFlags(NotificationBundleUi.FLAG_NAME) fun isPulsing_key() { whenever(headsupRepository.isHeadsUpEntry(anyString())).thenReturn(true); sut.isPulsing = true assertThat(sut.isPulsing("key")).isTrue() whenever(headsupRepository.isHeadsUpEntry(anyString())).thenReturn(false); sut.isPulsing = true assertThat(sut.isPulsing("key")).isFalse() } @Test @DisableFlags(NotificationBundleUi.FLAG_NAME) fun isPulsing_entry() { val notification: Notification = Notification.Builder(mContext, "").setSmallIcon(R.drawable.ic_person).build() val entry = NotificationEntryBuilder().setNotification(notification).build() sut.isPulsing = true entry.setIsHeadsUpEntry(true) assertThat(sut.isPulsing(entry)).isTrue() sut.isPulsing = true entry.setIsHeadsUpEntry(false) assertThat(sut.isPulsing(entry)).isFalse() } // endregion } // region Arrange helper methods. Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java +10 −4 Original line number Diff line number Diff line Loading @@ -696,10 +696,13 @@ public class AmbientState implements Dumpable { return mPulsing; } public boolean isPulsing(String entryKey) { boolean isHeadsUp = mHeadsUpRepository.isHeadsUpEntry(entryKey); return mPulsing && isHeadsUp; } public boolean isPulsing(NotificationEntry entry) { boolean isHeadsUp = NotificationBundleUi.isEnabled() ? mHeadsUpRepository.isHeadsUpEntry(entry.getKey()) : entry.isHeadsUpEntry(); boolean isHeadsUp = entry.isHeadsUpEntry(); return mPulsing && isHeadsUp; } Loading Loading @@ -750,7 +753,10 @@ public class AmbientState implements Dumpable { * @return whether a row is dozing and not pulsing right now */ public boolean isDozingAndNotPulsing(ExpandableNotificationRow row) { return isDozing() && !isPulsing(row.getEntry()); boolean isPulsing = NotificationBundleUi.isEnabled() ? isPulsing(row.getKey()) : isPulsing(row.getEntryLegacy()); return isDozing() && !isPulsing; } /** Loading