Merge "Use displayName instead of operator name in MMS data notification" into qt-dev
diff --git a/src/com/android/settings/sim/SimSelectNotification.java b/src/com/android/settings/sim/SimSelectNotification.java
index a303e42..fb83a4d 100644
--- a/src/com/android/settings/sim/SimSelectNotification.java
+++ b/src/com/android/settings/sim/SimSelectNotification.java
@@ -40,12 +40,14 @@
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 @@
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 @@
}
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 5a2dd48..9b53636 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.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 @@
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 @@
.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 @@
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);