aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/com/android/internal/telephony/GsmCdmaPhone.java7
-rw-r--r--tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java26
2 files changed, 33 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
index cd6dc322f..13f8b0bad 100644
--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
@@ -1610,6 +1610,13 @@ public class GsmCdmaPhone extends Phone {
IccRecords r = mIccRecords.get();
return (r != null) ? r.getMsisdnNumber() : null;
} else {
+ CarrierConfigManager configManager = (CarrierConfigManager)
+ mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);
+ boolean use_usim = configManager.getConfigForSubId(getSubId()).getBoolean(
+ CarrierConfigManager.KEY_USE_USIM_BOOL);
+ if (use_usim) {
+ return (mSimRecords != null) ? mSimRecords.getMsisdnNumber() : null;
+ }
return mSST.getMdnNumber();
}
}
diff --git a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java
index 60bc61f74..3a1822322 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java
@@ -957,4 +957,30 @@ public class GsmCdmaPhoneTest extends TelephonyTest {
assertEquals(EVENT_SET_ICC_LOCK_ENABLED, message.what);
assertTrue(ret.exception != null);
}
+
+ @Test
+ @SmallTest
+ public void testGetLine1NumberForGsmPhone() {
+ final String msisdn = "+1234567890";
+ doReturn(msisdn).when(mSimRecords).getMsisdnNumber();
+
+ switchToGsm();
+ assertEquals(msisdn, mPhoneUT.getLine1Number());
+ }
+
+ @Test
+ @SmallTest
+ public void testGetLine1NumberForCdmaPhone() {
+ final String mdn = "1234567890";
+ final String msisdn = "+1234567890";
+ doReturn(mdn).when(mSST).getMdnNumber();
+ doReturn(msisdn).when(mSimRecords).getMsisdnNumber();
+
+ switchToCdma();
+ assertEquals(mdn, mPhoneUT.getLine1Number());
+
+ mContextFixture.getCarrierConfigBundle().putBoolean(
+ CarrierConfigManager.KEY_USE_USIM_BOOL, true);
+ assertEquals(msisdn, mPhoneUT.getLine1Number());
+ }
}