diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-10 16:41:35 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-10 16:41:35 +0000 |
commit | 8fb26ab1d86eb211fef2c8b14ce2931d297ae354 (patch) | |
tree | baa56576735b98e4a6167c1c9b13018e4d3061bb | |
parent | 7d302b7ba3e376a2a744cdfec665da4d9b98a1d0 (diff) | |
parent | 529cd5265bd8b0c468f3fcb8f46b9756b5d3350e (diff) | |
download | ContactsProvider-android13-mainline-go-adservices-release.tar.gz |
Snap for 8708169 from 529cd5265bd8b0c468f3fcb8f46b9756b5d3350e to mainline-go-adservices-releaseaml_go_ads_330915100aml_go_ads_330915000aml_go_ads_330913000android13-mainline-go-adservices-release
Change-Id: I15fe3e4832d4b363200c7b4b343013b03102eefe
-rw-r--r-- | src/com/android/providers/contacts/CallLogProvider.java | 8 | ||||
-rw-r--r-- | tests/src/com/android/providers/contacts/CallLogProviderTest.java | 12 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/com/android/providers/contacts/CallLogProvider.java b/src/com/android/providers/contacts/CallLogProvider.java index b2674834..da2d0b8a 100644 --- a/src/com/android/providers/contacts/CallLogProvider.java +++ b/src/com/android/providers/contacts/CallLogProvider.java @@ -54,6 +54,7 @@ import android.provider.CallLog.Calls; import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; +import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; @@ -1349,8 +1350,11 @@ public class CallLogProvider extends ContentProvider { PhoneAccountHandle phoneAccountHandle = (PhoneAccountHandle) arg; String iccId = null; try { - iccId = mSubscriptionManager.getActiveSubscriptionInfo( - Integer.parseInt(phoneAccountHandle.getId())).getIccId(); + SubscriptionInfo info = mSubscriptionManager.getActiveSubscriptionInfo( + Integer.parseInt(phoneAccountHandle.getId())); + if (info != null) { + iccId = info.getIccId(); + } } catch (NumberFormatException nfe) { // Ignore the exception, iccId will remain null and be handled below. } diff --git a/tests/src/com/android/providers/contacts/CallLogProviderTest.java b/tests/src/com/android/providers/contacts/CallLogProviderTest.java index c7555823..a0a8483f 100644 --- a/tests/src/com/android/providers/contacts/CallLogProviderTest.java +++ b/tests/src/com/android/providers/contacts/CallLogProviderTest.java @@ -18,6 +18,8 @@ package com.android.providers.contacts; import static android.provider.CallLog.Calls.MISSED_REASON_NOT_MISSED; +import static com.android.providers.contacts.ContactsProvider2.BACKGROUND_TASK_MIGRATE_PHONE_ACCOUNT_HANDLES; + import static org.mockito.Mockito.eq; import static org.mockito.Mockito.when; @@ -736,6 +738,16 @@ public class CallLogProviderTest extends BaseContactsProvider2Test { assertEquals(10, mCallLogProvider.getLastSyncTime(/* forShadow =*/ false)); } + public void testNullSubscriptionInfo() { + PhoneAccountHandle handle = new PhoneAccountHandle(new ComponentName( + TELEPHONY_PACKAGE, TELEPHONY_CLASS), TEST_PHONE_ACCOUNT_HANDLE_SUB_ID); + when(mSubscriptionManager.getActiveSubscriptionInfo(eq( + Integer.parseInt(TEST_PHONE_ACCOUNT_HANDLE_SUB_ID)))).thenReturn(null); + + mCallLogProvider.performBackgroundTask( + BACKGROUND_TASK_MIGRATE_PHONE_ACCOUNT_HANDLES, handle); + } + private ContentValues getDefaultValues(int callType) { ContentValues values = new ContentValues(); values.put(Calls.TYPE, callType); |