diff --git a/src/com/android/settings/sim/SimSelectNotification.java b/src/com/android/settings/sim/SimSelectNotification.java index a303e426c57..fb83a4d67c0 100644 --- a/src/com/android/settings/sim/SimSelectNotification.java +++ b/src/com/android/settings/sim/SimSelectNotification.java @@ -40,12 +40,14 @@ import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.provider.Settings; +import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; +import com.android.settings.network.SubscriptionUtil; import com.android.settings.network.telephony.MobileNetworkActivity; import com.android.settingslib.HelpUtils; @@ -104,6 +106,11 @@ public class SimSelectNotification extends BroadcastReceiver { Log.w(TAG, "onEnableMmsDataRequest invalid sub ID " + subId); return; } + final SubscriptionInfo info = subscriptionManager.getActiveSubscriptionInfo(subId); + if (info == null) { + Log.w(TAG, "onEnableMmsDataRequest null SubscriptionInfo for sub ID " + subId); + return; + } // Getting request reason from extra, which will determine the notification title. CharSequence notificationTitle = null; @@ -128,7 +135,7 @@ public class SimSelectNotification extends BroadcastReceiver { } CharSequence notificationSummary = context.getResources().getString( - R.string.enable_mms_notification_summary, tm.getSimOperatorName()); + R.string.enable_mms_notification_summary, SubscriptionUtil.getDisplayName(info)); cancelEnableMmsNotification(context); diff --git a/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java b/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java index 5a2dd48c3c5..9b536363499 100644 --- a/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java +++ b/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java @@ -49,6 +49,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.res.Resources; import android.provider.Settings; +import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; @@ -80,8 +81,10 @@ public class SimSelectNotificationTest { private PackageManager mPackageManager; @Mock private Resources mResources; + @Mock + private SubscriptionInfo mSubInfo; - private final String mFakeOperatorName = "fake_operator_name"; + private final String mFakeDisplayName = "fake_display_name"; private final CharSequence mFakeNotificationChannelTitle = "fake_notification_channel_title"; private final CharSequence mFakeNotificationTitle = "fake_notification_title"; private final String mFakeNotificationSummary = "fake_notification_Summary"; @@ -113,9 +116,10 @@ public class SimSelectNotificationTest { .thenReturn(PackageManager.PERMISSION_GRANTED); when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager); - when(mTelephonyManager.getSimOperatorName()).thenReturn(mFakeOperatorName); when(mTelephonyManager.isDataEnabledForApn(TYPE_MMS)).thenReturn(false); when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(true); + when(mSubscriptionManager.getActiveSubscriptionInfo(mSubId)).thenReturn(mSubInfo); + when(mSubInfo.getDisplayName()).thenReturn(mFakeDisplayName); when(mContext.getResources()).thenReturn(mResources); when(mResources.getText(R.string.enable_sending_mms_notification_title)) @@ -123,7 +127,7 @@ public class SimSelectNotificationTest { when(mResources.getText(R.string.enable_mms_notification_channel_title)) .thenReturn(mFakeNotificationChannelTitle); when(mResources.getString(R.string.enable_mms_notification_summary, - mFakeOperatorName)).thenReturn(mFakeNotificationSummary); + mFakeDisplayName)).thenReturn(mFakeNotificationSummary); when(mResources.getText(R.string.dual_cdma_sim_warning_notification_channel_title)) .thenReturn(mFakeDualCdmaWarningChannelTitle);