aboutsummaryrefslogtreecommitdiff
path: root/tests/telephonytests/src/com/android/internal/telephony/CarrierServiceStateTrackerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/telephonytests/src/com/android/internal/telephony/CarrierServiceStateTrackerTest.java')
-rw-r--r--tests/telephonytests/src/com/android/internal/telephony/CarrierServiceStateTrackerTest.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/telephonytests/src/com/android/internal/telephony/CarrierServiceStateTrackerTest.java b/tests/telephonytests/src/com/android/internal/telephony/CarrierServiceStateTrackerTest.java
index fadbff185c..dfb91a52b1 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/CarrierServiceStateTrackerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/CarrierServiceStateTrackerTest.java
@@ -16,12 +16,15 @@
package com.android.internal.telephony;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.isA;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -97,6 +100,7 @@ public class CarrierServiceStateTrackerTest extends TelephonyTest {
private void setDefaultValues() {
mBundle.putInt(CarrierConfigManager.KEY_PREF_NETWORK_NOTIFICATION_DELAY_INT, 0);
mBundle.putInt(CarrierConfigManager.KEY_EMERGENCY_NOTIFICATION_DELAY_INT, 0);
+ mBundle.putBoolean(CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL, false);
}
@After
@@ -232,4 +236,39 @@ public class CarrierServiceStateTrackerTest extends TelephonyTest {
verify(mNotificationManager, atLeast(2)).cancel(
CarrierServiceStateTracker.EMERGENCY_NOTIFICATION_TAG, SUB_ID);
}
+
+ @Test
+ public void testSetEnabledNotifications() {
+ logd(LOG_TAG + ":testSetEnabledNotifications()");
+
+ mBundle.putBoolean(CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL, true);
+
+ Notification.Builder mNotificationBuilder = new Notification.Builder(mContext);
+ doReturn(mNotificationBuilder).when(mSpyCarrierSST).getNotificationBuilder(any());
+ doReturn(mNotificationManager).when(mSpyCarrierSST).getNotificationManager(any());
+ doReturn(true).when(mPhone).isWifiCallingEnabled(); // notifiable for emergency
+ mCarrierConfigChangeListener.onCarrierConfigChanged(0 /* slotIndex */, SUB_ID,
+ TelephonyManager.UNKNOWN_CARRIER_ID, TelephonyManager.UNKNOWN_CARRIER_ID);
+ processAllMessages();
+
+ Map<Integer, CarrierServiceStateTracker.NotificationType> notificationTypeMap =
+ mCarrierSST.getNotificationTypeMap();
+ CarrierServiceStateTracker.NotificationType prefNetworkNotification =
+ notificationTypeMap.get(CarrierServiceStateTracker.NOTIFICATION_PREF_NETWORK);
+ CarrierServiceStateTracker.NotificationType emergencyNetworkNotification =
+ notificationTypeMap.get(CarrierServiceStateTracker.NOTIFICATION_EMERGENCY_NETWORK);
+ assertFalse(prefNetworkNotification.isEnabled());
+ assertTrue(emergencyNetworkNotification.isEnabled());
+
+ verify(mNotificationManager, never()).notify(
+ eq(CarrierServiceStateTracker.PREF_NETWORK_NOTIFICATION_TAG),
+ eq(SUB_ID), isA(Notification.class));
+ verify(mNotificationManager, atLeast(1)).cancel(
+ CarrierServiceStateTracker.PREF_NETWORK_NOTIFICATION_TAG, SUB_ID);
+ verify(mNotificationManager, atLeast(1)).notify(
+ eq(CarrierServiceStateTracker.EMERGENCY_NOTIFICATION_TAG),
+ eq(SUB_ID), isA(Notification.class));
+ verify(mNotificationManager, never()).cancel(
+ CarrierServiceStateTracker.EMERGENCY_NOTIFICATION_TAG, SUB_ID);
+ }
}