Loading packages/SystemUI/aconfig/systemui.aconfig +0 −8 Original line number Diff line number Diff line Loading @@ -391,14 +391,6 @@ flag { } } flag { name: "status_bar_screen_sharing_chips" namespace: "systemui" description: "Show chips on the left side of the status bar when a user is screen sharing, " "recording, or casting" bug: "332662551" } flag { name: "status_bar_show_audio_only_projection_chip" namespace: "systemui" Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModelTest.kt +10 −6 Original line number Diff line number Diff line Loading @@ -283,14 +283,16 @@ class CallChipViewModelTest : SysuiTestCase() { testScope.runTest { val latest by collectLastValue(underTest.chip) val intent = mock<PendingIntent>() repo.setOngoingCallState(inCallModel(startTimeMs = 1000, intent = intent)) val pendingIntent = mock<PendingIntent>() repo.setOngoingCallState(inCallModel(startTimeMs = 1000, intent = pendingIntent)) val clickListener = (latest as OngoingActivityChipModel.Shown).onClickListener assertThat(clickListener).isNotNull() clickListener!!.onClick(chipView) verify(kosmos.activityStarter).postStartActivityDismissingKeyguard(intent, null) // Ensure that the SysUI didn't modify the notification's intent by verifying it // directly matches the `PendingIntent` set -- see b/212467440. verify(kosmos.activityStarter).postStartActivityDismissingKeyguard(pendingIntent, null) } @Test Loading @@ -298,14 +300,16 @@ class CallChipViewModelTest : SysuiTestCase() { testScope.runTest { val latest by collectLastValue(underTest.chip) val intent = mock<PendingIntent>() repo.setOngoingCallState(inCallModel(startTimeMs = 0, intent = intent)) val pendingIntent = mock<PendingIntent>() repo.setOngoingCallState(inCallModel(startTimeMs = 0, intent = pendingIntent)) val clickListener = (latest as OngoingActivityChipModel.Shown).onClickListener assertThat(clickListener).isNotNull() clickListener!!.onClick(chipView) verify(kosmos.activityStarter).postStartActivityDismissingKeyguard(intent, null) // Ensure that the SysUI didn't modify the notification's intent by verifying it // directly matches the `PendingIntent` set -- see b/212467440. verify(kosmos.activityStarter).postStartActivityDismissingKeyguard(pendingIntent, null) } companion object { Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.kt +0 −110 Original line number Diff line number Diff line Loading @@ -45,13 +45,10 @@ import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor import com.android.systemui.kosmos.testScope import com.android.systemui.privacy.PrivacyItemController import com.android.systemui.privacy.logging.PrivacyLogger import com.android.systemui.screenrecord.RecordingController import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.CommandQueue import com.android.systemui.statusbar.phone.ui.StatusBarIconController import com.android.systemui.statusbar.policy.BluetoothController import com.android.systemui.statusbar.policy.CastController import com.android.systemui.statusbar.policy.CastDevice import com.android.systemui.statusbar.policy.DataSaverController import com.android.systemui.statusbar.policy.DeviceProvisionedController import com.android.systemui.statusbar.policy.HotspotController Loading Loading @@ -92,7 +89,6 @@ import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever import org.mockito.MockitoAnnotations import org.mockito.kotlin.any import org.mockito.kotlin.argumentCaptor import org.mockito.kotlin.eq import org.mockito.kotlin.reset Loading @@ -108,8 +104,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { companion object { private const val ZEN_SLOT = "zen" private const val ALARM_SLOT = "alarm" private const val CAST_SLOT = "cast" private const val SCREEN_RECORD_SLOT = "screen_record" private const val CONNECTED_DISPLAY_SLOT = "connected_display" private const val MANAGED_PROFILE_SLOT = "managed_profile" } Loading @@ -117,7 +111,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { @Mock private lateinit var iconController: StatusBarIconController @Mock private lateinit var commandQueue: CommandQueue @Mock private lateinit var broadcastDispatcher: BroadcastDispatcher @Mock private lateinit var castController: CastController @Mock private lateinit var hotspotController: HotspotController @Mock private lateinit var bluetoothController: BluetoothController @Mock private lateinit var nextAlarmController: NextAlarmController Loading @@ -133,7 +126,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { @Mock private lateinit var userTracker: UserTracker @Mock private lateinit var devicePolicyManager: DevicePolicyManager @Mock private lateinit var devicePolicyManagerResources: DevicePolicyResourcesManager @Mock private lateinit var recordingController: RecordingController @Mock private lateinit var telecomManager: TelecomManager @Mock private lateinit var sharedPreferences: SharedPreferences @Mock private lateinit var dateFormatUtil: DateFormatUtil Loading Loading @@ -301,101 +293,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { verify(iconController).setIconVisibility(CONNECTED_DISPLAY_SLOT, true) } @Test @DisableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun cast_chipsFlagOff_iconShown() { statusBarPolicy.init() clearInvocations(iconController) val callbackCaptor = argumentCaptor<CastController.Callback>() verify(castController).addCallback(callbackCaptor.capture()) whenever(castController.castDevices) .thenReturn( listOf( CastDevice( "id", "name", "description", CastDevice.CastState.Connected, CastDevice.CastOrigin.MediaProjection, ) ) ) callbackCaptor.firstValue.onCastDevicesChanged() verify(iconController).setIconVisibility(CAST_SLOT, true) } @Test @EnableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun cast_chipsFlagOn_noCallbackRegistered() { statusBarPolicy.init() verify(castController, never()).addCallback(any()) } @Test @DisableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun screenRecord_chipsFlagOff_iconShown_forAllStates() { statusBarPolicy.init() clearInvocations(iconController) val callbackCaptor = argumentCaptor<RecordingController.RecordingStateChangeCallback>() verify(recordingController).addCallback(callbackCaptor.capture()) callbackCaptor.firstValue.onCountdown(3000) testableLooper.processAllMessages() verify(iconController).setIconVisibility(SCREEN_RECORD_SLOT, true) clearInvocations(iconController) callbackCaptor.firstValue.onCountdownEnd() testableLooper.processAllMessages() verify(iconController).setIconVisibility(SCREEN_RECORD_SLOT, false) clearInvocations(iconController) callbackCaptor.firstValue.onRecordingStart() testableLooper.processAllMessages() verify(iconController).setIconVisibility(SCREEN_RECORD_SLOT, true) clearInvocations(iconController) callbackCaptor.firstValue.onRecordingEnd() testableLooper.processAllMessages() verify(iconController).setIconVisibility(SCREEN_RECORD_SLOT, false) clearInvocations(iconController) } @Test @EnableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun screenRecord_chipsFlagOn_noCallbackRegistered() { statusBarPolicy.init() verify(recordingController, never()).addCallback(any()) } @Test @EnableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun screenRecord_chipsFlagOn_methodsDoNothing() { statusBarPolicy.init() clearInvocations(iconController) statusBarPolicy.onCountdown(3000) testableLooper.processAllMessages() verify(iconController, never()).setIconVisibility(eq(SCREEN_RECORD_SLOT), any()) statusBarPolicy.onCountdownEnd() testableLooper.processAllMessages() verify(iconController, never()).setIconVisibility(eq(SCREEN_RECORD_SLOT), any()) statusBarPolicy.onRecordingStart() testableLooper.processAllMessages() verify(iconController, never()).setIconVisibility(eq(SCREEN_RECORD_SLOT), any()) statusBarPolicy.onRecordingEnd() testableLooper.processAllMessages() verify(iconController, never()).setIconVisibility(eq(SCREEN_RECORD_SLOT), any()) } @Test @EnableFlags(android.app.Flags.FLAG_MODES_UI, android.app.Flags.FLAG_MODES_UI_ICONS) fun zenModeInteractorActiveModeChanged_showsModeIcon() = Loading Loading @@ -514,7 +411,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { executor, testableLooper.looper, context.resources, castController, hotspotController, bluetoothController, nextAlarmController, Loading @@ -530,7 +426,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { userManager, userTracker, devicePolicyManager, recordingController, telecomManager, /* displayId = */ 0, sharedPreferences, Loading Loading @@ -589,11 +484,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { override fun getConfig(): ZenModeConfig = throw NotImplementedError() fun setConsolidatedPolicy(policy: NotificationManager.Policy) { this.consolidatedPolicy = policy callbacks.forEach { it.onConsolidatedPolicyChanged(consolidatedPolicy) } } override fun getConsolidatedPolicy(): NotificationManager.Policy = consolidatedPolicy override fun getNextAlarm() = throw NotImplementedError() Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt +0 −96 Original line number Diff line number Diff line Loading @@ -21,21 +21,18 @@ import android.app.IActivityManager import android.app.IUidObserver import android.app.PendingIntent import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.testing.TestableLooper import android.view.LayoutInflater import android.view.View import android.widget.LinearLayout import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS import com.android.systemui.SysuiTestCase import com.android.systemui.concurrency.fakeExecutor import com.android.systemui.dump.DumpManager import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.testScope import com.android.systemui.log.logcatLogBuffer import com.android.systemui.plugins.activityStarter import com.android.systemui.res.R import com.android.systemui.statusbar.StatusBarIconView import com.android.systemui.statusbar.data.repository.fakeStatusBarModeRepository Loading @@ -50,7 +47,6 @@ import com.android.systemui.statusbar.phone.ongoingcall.data.repository.ongoingC import com.android.systemui.statusbar.phone.ongoingcall.shared.model.OngoingCallModel import com.android.systemui.statusbar.window.StatusBarWindowController import com.android.systemui.statusbar.window.StatusBarWindowControllerStore import com.android.systemui.util.time.fakeSystemClock import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runCurrent Loading @@ -77,7 +73,6 @@ import org.mockito.kotlin.whenever class OngoingCallControllerTest : SysuiTestCase() { private val kosmos = Kosmos() private val clock = kosmos.fakeSystemClock private val mainExecutor = kosmos.fakeExecutor private val testScope = kosmos.testScope private val statusBarModeRepository = kosmos.fakeStatusBarModeRepository Loading @@ -88,7 +83,6 @@ class OngoingCallControllerTest : SysuiTestCase() { private val mockSwipeStatusBarAwayGestureHandler = mock<SwipeStatusBarAwayGestureHandler>() private val mockOngoingCallListener = mock<OngoingCallListener>() private val mockActivityStarter = kosmos.activityStarter private val mockIActivityManager = mock<IActivityManager>() private val mockStatusBarWindowController = mock<StatusBarWindowController>() private val mockStatusBarWindowControllerStore = mock<StatusBarWindowControllerStore>() Loading @@ -111,8 +105,6 @@ class OngoingCallControllerTest : SysuiTestCase() { context, ongoingCallRepository, kosmos.activeNotificationsInteractor, clock, mockActivityStarter, mainExecutor, mockIActivityManager, DumpManager(), Loading Loading @@ -223,48 +215,6 @@ class OngoingCallControllerTest : SysuiTestCase() { ) } /** Regression test for b/192379214. */ @Test @DisableFlags(android.app.Flags.FLAG_SORT_SECTION_BY_TIME, FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun notifRepoHasCallNotif_notificationWhenIsZero_timeHidden() { setNotifOnRepo( activeNotificationModel( key = "notif", callType = CallType.Ongoing, contentIntent = null, whenTime = 0, ) ) chipView.measure( View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), ) assertThat(chipView.findViewById<View>(R.id.ongoing_activity_chip_time)?.measuredWidth) .isEqualTo(0) } @Test @DisableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun notifRepoHasCallNotif_notificationWhenIsValid_timeShown() { setNotifOnRepo( activeNotificationModel( key = "notif", callType = CallType.Ongoing, whenTime = clock.currentTimeMillis(), ) ) chipView.measure( View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), ) assertThat(chipView.findViewById<View>(R.id.ongoing_activity_chip_time)?.measuredWidth) .isGreaterThan(0) } /** Regression test for b/194731244. */ @Test fun repoHasCallNotif_updatedManyTimes_uidObserverOnlyRegisteredOnce() { Loading Loading @@ -493,52 +443,6 @@ class OngoingCallControllerTest : SysuiTestCase() { verify(mockOngoingCallListener).onOngoingCallStateChanged(any()) } /** Regression test for b/212467440. */ @Test @DisableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun chipClicked_activityStarterTriggeredWithUnmodifiedIntent() { val pendingIntent = mock<PendingIntent>() setNotifOnRepo( activeNotificationModel( key = "notif", uid = CALL_UID, contentIntent = pendingIntent, callType = CallType.Ongoing, ) ) chipView.performClick() // Ensure that the sysui didn't modify the notification's intent -- see b/212467440. verify(mockActivityStarter).postStartActivityDismissingKeyguard(eq(pendingIntent), any()) } @Test @DisableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun callNotificationAdded_chipIsClickable() { setCallNotifOnRepo() assertThat(chipView.hasOnClickListeners()).isTrue() } @Test @EnableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun callNotificationAdded_newChipsEnabled_chipNotClickable() { setCallNotifOnRepo() assertThat(chipView.hasOnClickListeners()).isFalse() } @Test @DisableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun fullscreenIsTrue_chipStillClickable() { setCallNotifOnRepo() statusBarModeRepository.defaultDisplay.isInFullscreenMode.value = true testScope.runCurrent() assertThat(chipView.hasOnClickListeners()).isTrue() } @Test fun callStartedInImmersiveMode_swipeGestureCallbackAdded() { statusBarModeRepository.defaultDisplay.isInFullscreenMode.value = true Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +2 −134 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
packages/SystemUI/aconfig/systemui.aconfig +0 −8 Original line number Diff line number Diff line Loading @@ -391,14 +391,6 @@ flag { } } flag { name: "status_bar_screen_sharing_chips" namespace: "systemui" description: "Show chips on the left side of the status bar when a user is screen sharing, " "recording, or casting" bug: "332662551" } flag { name: "status_bar_show_audio_only_projection_chip" namespace: "systemui" Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModelTest.kt +10 −6 Original line number Diff line number Diff line Loading @@ -283,14 +283,16 @@ class CallChipViewModelTest : SysuiTestCase() { testScope.runTest { val latest by collectLastValue(underTest.chip) val intent = mock<PendingIntent>() repo.setOngoingCallState(inCallModel(startTimeMs = 1000, intent = intent)) val pendingIntent = mock<PendingIntent>() repo.setOngoingCallState(inCallModel(startTimeMs = 1000, intent = pendingIntent)) val clickListener = (latest as OngoingActivityChipModel.Shown).onClickListener assertThat(clickListener).isNotNull() clickListener!!.onClick(chipView) verify(kosmos.activityStarter).postStartActivityDismissingKeyguard(intent, null) // Ensure that the SysUI didn't modify the notification's intent by verifying it // directly matches the `PendingIntent` set -- see b/212467440. verify(kosmos.activityStarter).postStartActivityDismissingKeyguard(pendingIntent, null) } @Test Loading @@ -298,14 +300,16 @@ class CallChipViewModelTest : SysuiTestCase() { testScope.runTest { val latest by collectLastValue(underTest.chip) val intent = mock<PendingIntent>() repo.setOngoingCallState(inCallModel(startTimeMs = 0, intent = intent)) val pendingIntent = mock<PendingIntent>() repo.setOngoingCallState(inCallModel(startTimeMs = 0, intent = pendingIntent)) val clickListener = (latest as OngoingActivityChipModel.Shown).onClickListener assertThat(clickListener).isNotNull() clickListener!!.onClick(chipView) verify(kosmos.activityStarter).postStartActivityDismissingKeyguard(intent, null) // Ensure that the SysUI didn't modify the notification's intent by verifying it // directly matches the `PendingIntent` set -- see b/212467440. verify(kosmos.activityStarter).postStartActivityDismissingKeyguard(pendingIntent, null) } companion object { Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.kt +0 −110 Original line number Diff line number Diff line Loading @@ -45,13 +45,10 @@ import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor import com.android.systemui.kosmos.testScope import com.android.systemui.privacy.PrivacyItemController import com.android.systemui.privacy.logging.PrivacyLogger import com.android.systemui.screenrecord.RecordingController import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.CommandQueue import com.android.systemui.statusbar.phone.ui.StatusBarIconController import com.android.systemui.statusbar.policy.BluetoothController import com.android.systemui.statusbar.policy.CastController import com.android.systemui.statusbar.policy.CastDevice import com.android.systemui.statusbar.policy.DataSaverController import com.android.systemui.statusbar.policy.DeviceProvisionedController import com.android.systemui.statusbar.policy.HotspotController Loading Loading @@ -92,7 +89,6 @@ import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever import org.mockito.MockitoAnnotations import org.mockito.kotlin.any import org.mockito.kotlin.argumentCaptor import org.mockito.kotlin.eq import org.mockito.kotlin.reset Loading @@ -108,8 +104,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { companion object { private const val ZEN_SLOT = "zen" private const val ALARM_SLOT = "alarm" private const val CAST_SLOT = "cast" private const val SCREEN_RECORD_SLOT = "screen_record" private const val CONNECTED_DISPLAY_SLOT = "connected_display" private const val MANAGED_PROFILE_SLOT = "managed_profile" } Loading @@ -117,7 +111,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { @Mock private lateinit var iconController: StatusBarIconController @Mock private lateinit var commandQueue: CommandQueue @Mock private lateinit var broadcastDispatcher: BroadcastDispatcher @Mock private lateinit var castController: CastController @Mock private lateinit var hotspotController: HotspotController @Mock private lateinit var bluetoothController: BluetoothController @Mock private lateinit var nextAlarmController: NextAlarmController Loading @@ -133,7 +126,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { @Mock private lateinit var userTracker: UserTracker @Mock private lateinit var devicePolicyManager: DevicePolicyManager @Mock private lateinit var devicePolicyManagerResources: DevicePolicyResourcesManager @Mock private lateinit var recordingController: RecordingController @Mock private lateinit var telecomManager: TelecomManager @Mock private lateinit var sharedPreferences: SharedPreferences @Mock private lateinit var dateFormatUtil: DateFormatUtil Loading Loading @@ -301,101 +293,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { verify(iconController).setIconVisibility(CONNECTED_DISPLAY_SLOT, true) } @Test @DisableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun cast_chipsFlagOff_iconShown() { statusBarPolicy.init() clearInvocations(iconController) val callbackCaptor = argumentCaptor<CastController.Callback>() verify(castController).addCallback(callbackCaptor.capture()) whenever(castController.castDevices) .thenReturn( listOf( CastDevice( "id", "name", "description", CastDevice.CastState.Connected, CastDevice.CastOrigin.MediaProjection, ) ) ) callbackCaptor.firstValue.onCastDevicesChanged() verify(iconController).setIconVisibility(CAST_SLOT, true) } @Test @EnableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun cast_chipsFlagOn_noCallbackRegistered() { statusBarPolicy.init() verify(castController, never()).addCallback(any()) } @Test @DisableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun screenRecord_chipsFlagOff_iconShown_forAllStates() { statusBarPolicy.init() clearInvocations(iconController) val callbackCaptor = argumentCaptor<RecordingController.RecordingStateChangeCallback>() verify(recordingController).addCallback(callbackCaptor.capture()) callbackCaptor.firstValue.onCountdown(3000) testableLooper.processAllMessages() verify(iconController).setIconVisibility(SCREEN_RECORD_SLOT, true) clearInvocations(iconController) callbackCaptor.firstValue.onCountdownEnd() testableLooper.processAllMessages() verify(iconController).setIconVisibility(SCREEN_RECORD_SLOT, false) clearInvocations(iconController) callbackCaptor.firstValue.onRecordingStart() testableLooper.processAllMessages() verify(iconController).setIconVisibility(SCREEN_RECORD_SLOT, true) clearInvocations(iconController) callbackCaptor.firstValue.onRecordingEnd() testableLooper.processAllMessages() verify(iconController).setIconVisibility(SCREEN_RECORD_SLOT, false) clearInvocations(iconController) } @Test @EnableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun screenRecord_chipsFlagOn_noCallbackRegistered() { statusBarPolicy.init() verify(recordingController, never()).addCallback(any()) } @Test @EnableFlags(Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun screenRecord_chipsFlagOn_methodsDoNothing() { statusBarPolicy.init() clearInvocations(iconController) statusBarPolicy.onCountdown(3000) testableLooper.processAllMessages() verify(iconController, never()).setIconVisibility(eq(SCREEN_RECORD_SLOT), any()) statusBarPolicy.onCountdownEnd() testableLooper.processAllMessages() verify(iconController, never()).setIconVisibility(eq(SCREEN_RECORD_SLOT), any()) statusBarPolicy.onRecordingStart() testableLooper.processAllMessages() verify(iconController, never()).setIconVisibility(eq(SCREEN_RECORD_SLOT), any()) statusBarPolicy.onRecordingEnd() testableLooper.processAllMessages() verify(iconController, never()).setIconVisibility(eq(SCREEN_RECORD_SLOT), any()) } @Test @EnableFlags(android.app.Flags.FLAG_MODES_UI, android.app.Flags.FLAG_MODES_UI_ICONS) fun zenModeInteractorActiveModeChanged_showsModeIcon() = Loading Loading @@ -514,7 +411,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { executor, testableLooper.looper, context.resources, castController, hotspotController, bluetoothController, nextAlarmController, Loading @@ -530,7 +426,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { userManager, userTracker, devicePolicyManager, recordingController, telecomManager, /* displayId = */ 0, sharedPreferences, Loading Loading @@ -589,11 +484,6 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { override fun getConfig(): ZenModeConfig = throw NotImplementedError() fun setConsolidatedPolicy(policy: NotificationManager.Policy) { this.consolidatedPolicy = policy callbacks.forEach { it.onConsolidatedPolicyChanged(consolidatedPolicy) } } override fun getConsolidatedPolicy(): NotificationManager.Policy = consolidatedPolicy override fun getNextAlarm() = throw NotImplementedError() Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt +0 −96 Original line number Diff line number Diff line Loading @@ -21,21 +21,18 @@ import android.app.IActivityManager import android.app.IUidObserver import android.app.PendingIntent import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.testing.TestableLooper import android.view.LayoutInflater import android.view.View import android.widget.LinearLayout import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.Flags.FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS import com.android.systemui.SysuiTestCase import com.android.systemui.concurrency.fakeExecutor import com.android.systemui.dump.DumpManager import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.testScope import com.android.systemui.log.logcatLogBuffer import com.android.systemui.plugins.activityStarter import com.android.systemui.res.R import com.android.systemui.statusbar.StatusBarIconView import com.android.systemui.statusbar.data.repository.fakeStatusBarModeRepository Loading @@ -50,7 +47,6 @@ import com.android.systemui.statusbar.phone.ongoingcall.data.repository.ongoingC import com.android.systemui.statusbar.phone.ongoingcall.shared.model.OngoingCallModel import com.android.systemui.statusbar.window.StatusBarWindowController import com.android.systemui.statusbar.window.StatusBarWindowControllerStore import com.android.systemui.util.time.fakeSystemClock import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runCurrent Loading @@ -77,7 +73,6 @@ import org.mockito.kotlin.whenever class OngoingCallControllerTest : SysuiTestCase() { private val kosmos = Kosmos() private val clock = kosmos.fakeSystemClock private val mainExecutor = kosmos.fakeExecutor private val testScope = kosmos.testScope private val statusBarModeRepository = kosmos.fakeStatusBarModeRepository Loading @@ -88,7 +83,6 @@ class OngoingCallControllerTest : SysuiTestCase() { private val mockSwipeStatusBarAwayGestureHandler = mock<SwipeStatusBarAwayGestureHandler>() private val mockOngoingCallListener = mock<OngoingCallListener>() private val mockActivityStarter = kosmos.activityStarter private val mockIActivityManager = mock<IActivityManager>() private val mockStatusBarWindowController = mock<StatusBarWindowController>() private val mockStatusBarWindowControllerStore = mock<StatusBarWindowControllerStore>() Loading @@ -111,8 +105,6 @@ class OngoingCallControllerTest : SysuiTestCase() { context, ongoingCallRepository, kosmos.activeNotificationsInteractor, clock, mockActivityStarter, mainExecutor, mockIActivityManager, DumpManager(), Loading Loading @@ -223,48 +215,6 @@ class OngoingCallControllerTest : SysuiTestCase() { ) } /** Regression test for b/192379214. */ @Test @DisableFlags(android.app.Flags.FLAG_SORT_SECTION_BY_TIME, FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun notifRepoHasCallNotif_notificationWhenIsZero_timeHidden() { setNotifOnRepo( activeNotificationModel( key = "notif", callType = CallType.Ongoing, contentIntent = null, whenTime = 0, ) ) chipView.measure( View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), ) assertThat(chipView.findViewById<View>(R.id.ongoing_activity_chip_time)?.measuredWidth) .isEqualTo(0) } @Test @DisableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun notifRepoHasCallNotif_notificationWhenIsValid_timeShown() { setNotifOnRepo( activeNotificationModel( key = "notif", callType = CallType.Ongoing, whenTime = clock.currentTimeMillis(), ) ) chipView.measure( View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), ) assertThat(chipView.findViewById<View>(R.id.ongoing_activity_chip_time)?.measuredWidth) .isGreaterThan(0) } /** Regression test for b/194731244. */ @Test fun repoHasCallNotif_updatedManyTimes_uidObserverOnlyRegisteredOnce() { Loading Loading @@ -493,52 +443,6 @@ class OngoingCallControllerTest : SysuiTestCase() { verify(mockOngoingCallListener).onOngoingCallStateChanged(any()) } /** Regression test for b/212467440. */ @Test @DisableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun chipClicked_activityStarterTriggeredWithUnmodifiedIntent() { val pendingIntent = mock<PendingIntent>() setNotifOnRepo( activeNotificationModel( key = "notif", uid = CALL_UID, contentIntent = pendingIntent, callType = CallType.Ongoing, ) ) chipView.performClick() // Ensure that the sysui didn't modify the notification's intent -- see b/212467440. verify(mockActivityStarter).postStartActivityDismissingKeyguard(eq(pendingIntent), any()) } @Test @DisableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun callNotificationAdded_chipIsClickable() { setCallNotifOnRepo() assertThat(chipView.hasOnClickListeners()).isTrue() } @Test @EnableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun callNotificationAdded_newChipsEnabled_chipNotClickable() { setCallNotifOnRepo() assertThat(chipView.hasOnClickListeners()).isFalse() } @Test @DisableFlags(FLAG_STATUS_BAR_SCREEN_SHARING_CHIPS) fun fullscreenIsTrue_chipStillClickable() { setCallNotifOnRepo() statusBarModeRepository.defaultDisplay.isInFullscreenMode.value = true testScope.runCurrent() assertThat(chipView.hasOnClickListeners()).isTrue() } @Test fun callStartedInImmersiveMode_swipeGestureCallbackAdded() { statusBarModeRepository.defaultDisplay.isInFullscreenMode.value = true Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +2 −134 File changed.Preview size limit exceeded, changes collapsed. Show changes