Loading services/core/java/com/android/server/notification/NotificationManagerService.java +8 −3 Original line number Diff line number Diff line Loading @@ -6948,9 +6948,14 @@ public class NotificationManagerService extends SystemService { try { if (mPackageManagerClient.hasSystemFeature(FEATURE_TELECOM) && mTelecomManager != null) { try { return mTelecomManager.isInManagedCall() || mTelecomManager.isInSelfManagedCall( pkg, UserHandle.getUserHandleForUid(uid)); } catch (IllegalStateException ise) { // Telecom is not ready (this is likely early boot), so there are no calls. return false; } } return false; } finally { Loading services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -9331,6 +9331,13 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { assertThat(mService.checkDisqualifyingFeatures(r.getUserId(), r.getUid(), r.getSbn().getId(), r.getSbn().getTag(), r, false)) .isFalse(); // telecom manager is not ready - blocked mService.setTelecomManager(mTelecomManager); when(mTelecomManager.isInCall()).thenThrow(new IllegalStateException("not ready")); assertThat(mService.checkDisqualifyingFeatures(r.getUserId(), r.getUid(), r.getSbn().getId(), r.getSbn().getTag(), r, false)) .isFalse(); } @Test Loading Loading @@ -9430,6 +9437,18 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { verify(mUsageStats).registerBlocked(any()); verify(mUsageStats, never()).registerPostedByApp(any()); // telecom is not ready - notifications should be blocked but no crashes mService.setTelecomManager(mTelecomManager); when(mTelecomManager.isInCall()).thenThrow(new IllegalStateException("not ready")); reset(mUsageStats); mService.addEnqueuedNotification(r); runnable.run(); waitForIdle(); verify(mUsageStats).registerBlocked(any()); verify(mUsageStats, never()).registerPostedByApp(any()); } @Test Loading Loading
services/core/java/com/android/server/notification/NotificationManagerService.java +8 −3 Original line number Diff line number Diff line Loading @@ -6948,9 +6948,14 @@ public class NotificationManagerService extends SystemService { try { if (mPackageManagerClient.hasSystemFeature(FEATURE_TELECOM) && mTelecomManager != null) { try { return mTelecomManager.isInManagedCall() || mTelecomManager.isInSelfManagedCall( pkg, UserHandle.getUserHandleForUid(uid)); } catch (IllegalStateException ise) { // Telecom is not ready (this is likely early boot), so there are no calls. return false; } } return false; } finally { Loading
services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -9331,6 +9331,13 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { assertThat(mService.checkDisqualifyingFeatures(r.getUserId(), r.getUid(), r.getSbn().getId(), r.getSbn().getTag(), r, false)) .isFalse(); // telecom manager is not ready - blocked mService.setTelecomManager(mTelecomManager); when(mTelecomManager.isInCall()).thenThrow(new IllegalStateException("not ready")); assertThat(mService.checkDisqualifyingFeatures(r.getUserId(), r.getUid(), r.getSbn().getId(), r.getSbn().getTag(), r, false)) .isFalse(); } @Test Loading Loading @@ -9430,6 +9437,18 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { verify(mUsageStats).registerBlocked(any()); verify(mUsageStats, never()).registerPostedByApp(any()); // telecom is not ready - notifications should be blocked but no crashes mService.setTelecomManager(mTelecomManager); when(mTelecomManager.isInCall()).thenThrow(new IllegalStateException("not ready")); reset(mUsageStats); mService.addEnqueuedNotification(r); runnable.run(); waitForIdle(); verify(mUsageStats).registerBlocked(any()); verify(mUsageStats, never()).registerPostedByApp(any()); } @Test Loading