Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc423a76 authored by Jack Yu's avatar Jack Yu Committed by Automerger Merge Worker
Browse files

Fixed crash in getPhoneNumber am: 52579347

parents 531b485a 52579347
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -3209,15 +3209,12 @@ public class SubscriptionManagerService extends ISub.Stub {
     *
     * @return The phone number, or an empty string if not available.
     *
     * @throws IllegalArgumentException if {@code source} or {@code subId} is invalid.
     * @throws IllegalArgumentException if {@code source} is invalid.
     * @throws SecurityException if the caller doesn't have permissions required.
     *
     * @see SubscriptionManager#PHONE_NUMBER_SOURCE_UICC
     * @see SubscriptionManager#PHONE_NUMBER_SOURCE_CARRIER
     * @see SubscriptionManager#PHONE_NUMBER_SOURCE_IMS
     *
     * @throws IllegalArgumentException if {@code subId} is invalid.
     * @throws SecurityException if callers do not hold the required permission.
     */
    @Override
    @NonNull
@@ -3239,7 +3236,8 @@ public class SubscriptionManagerService extends ISub.Stub {
                .getSubscriptionInfoInternal(subId);

        if (subInfo == null) {
            throw new IllegalArgumentException("Invalid sub id " + subId);
            loge("Invalid sub id " + subId + ", callingPackage=" + callingPackage);
            return "";
        }

        try {
+13 −0
Original line number Diff line number Diff line
@@ -1817,4 +1817,17 @@ public class SubscriptionManagerServiceTest extends TelephonyTest {
        assertThat(mSubscriptionManagerServiceUT.getSubscriptionInfo(2).isGroupDisabled())
                .isFalse();
    }

    @Test
    public void testGetPhoneNumber() {
        mContextFixture.addCallingOrSelfPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE);
        testSetPhoneNumber();
        assertThat(mSubscriptionManagerServiceUT.getPhoneNumber(1,
                SubscriptionManager.PHONE_NUMBER_SOURCE_CARRIER, CALLING_PACKAGE, CALLING_FEATURE))
                .isEqualTo(FAKE_PHONE_NUMBER2);
        assertThat(mSubscriptionManagerServiceUT.getPhoneNumber(
                SubscriptionManager.INVALID_SUBSCRIPTION_ID,
                SubscriptionManager.PHONE_NUMBER_SOURCE_CARRIER, CALLING_PACKAGE, CALLING_FEATURE))
                .isEmpty();
    }
}