aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-04 01:26:27 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-04 01:26:27 +0000
commit2e17d1077a70cea47f9c59833a62605155500cb0 (patch)
treebaa56576735b98e4a6167c1c9b13018e4d3061bb
parentcd039062f442c06e2d58025801f61fbb71836bfa (diff)
parent529cd5265bd8b0c468f3fcb8f46b9756b5d3350e (diff)
downloadContactsProvider-android13-release.tar.gz
Change-Id: I0ea34fc54cc0cf20a2e53d6e8e64b7584f127325
-rw-r--r--src/com/android/providers/contacts/CallLogProvider.java8
-rw-r--r--tests/src/com/android/providers/contacts/CallLogProviderTest.java12
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);