aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-11-11 21:33:23 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-11-11 21:33:23 +0000
commit1411b53a47412c0d56b2de5cba988ded166b073b (patch)
tree092b69d57d6ec2f42aa41149f069a7f401a3e8f7
parentb1fe746be1effef64def46964f605b4388568ecf (diff)
parente8cc4b4737ca30dd1e057832114d4a678149a739 (diff)
downloadContactsProvider-android10-mainline-resolv-release.tar.gz
Snap for 6001391 from e8cc4b4737ca30dd1e057832114d4a678149a739 to qt-aml-resolv-releaseandroid-mainline-10.0.0_r8android10-mainline-resolv-release
Change-Id: I1b4e6bc44cffcae8b7fb26c8db3f1b6dabe7c61e
-rw-r--r--src/com/android/providers/contacts/CallLogProvider.java3
-rw-r--r--src/com/android/providers/contacts/ContactsDatabaseHelper.java3
-rw-r--r--src/com/android/providers/contacts/ContactsProvider2.java3
-rw-r--r--src/com/android/providers/contacts/VoicemailPermissions.java18
-rw-r--r--tests/src/com/android/providers/contacts/CallLogProviderTest.java7
-rw-r--r--tests/src/com/android/providers/contacts/CallerInfoIntegrationTest.java6
-rw-r--r--tests/src/com/android/providers/contacts/ContactsActor.java16
7 files changed, 41 insertions, 15 deletions
diff --git a/src/com/android/providers/contacts/CallLogProvider.java b/src/com/android/providers/contacts/CallLogProvider.java
index 022b61ea..39995203 100644
--- a/src/com/android/providers/contacts/CallLogProvider.java
+++ b/src/com/android/providers/contacts/CallLogProvider.java
@@ -743,9 +743,8 @@ public class CallLogProvider extends ContentProvider {
mDbHelper.getWritableDatabase().execSQL(
UNHIDE_BY_PHONE_ACCOUNT_QUERY, handleArgs);
} else {
- TelecomManager tm = TelecomManager.from(getContext());
+ TelecomManager tm = getContext().getSystemService(TelecomManager.class);
if (tm != null) {
-
PhoneAccount account = tm.getPhoneAccount(handle);
if (account != null && account.getAddress() != null) {
// We did not find any items for the specific phone account, so run the
diff --git a/src/com/android/providers/contacts/ContactsDatabaseHelper.java b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
index 91a2a91d..2e5cdacf 100644
--- a/src/com/android/providers/contacts/ContactsDatabaseHelper.java
+++ b/src/com/android/providers/contacts/ContactsDatabaseHelper.java
@@ -3221,8 +3221,7 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper {
// ON_BOOT_COMPLETE instead of PRE_BOOT_COMPLETE.
SubscriptionManager sm = SubscriptionManager.from(mContext);
if (sm != null) {
- Log.i(TAG, "count: " + sm.getAllSubscriptionInfoCount());
- for (SubscriptionInfo info : sm.getAllSubscriptionInfoList()) {
+ for (SubscriptionInfo info : sm.getActiveSubscriptionInfoList()) {
String iccId = info.getIccId();
int subId = info.getSubscriptionId();
if (!TextUtils.isEmpty(iccId) &&
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java
index dbf6bea9..89f3c709 100644
--- a/src/com/android/providers/contacts/ContactsProvider2.java
+++ b/src/com/android/providers/contacts/ContactsProvider2.java
@@ -9664,7 +9664,8 @@ public class ContactsProvider2 extends AbstractContactsProvider
@VisibleForTesting
protected boolean isPhone() {
if (!mIsPhoneInitialized) {
- mIsPhone = new TelephonyManager(getContext()).isVoiceCapable();
+ TelephonyManager tm = getContext().getSystemService(TelephonyManager.class);
+ mIsPhone = tm.isVoiceCapable();
mIsPhoneInitialized = true;
}
return mIsPhone;
diff --git a/src/com/android/providers/contacts/VoicemailPermissions.java b/src/com/android/providers/contacts/VoicemailPermissions.java
index 7e409eaf..58e7a146 100644
--- a/src/com/android/providers/contacts/VoicemailPermissions.java
+++ b/src/com/android/providers/contacts/VoicemailPermissions.java
@@ -18,8 +18,9 @@ package com.android.providers.contacts;
import android.content.Context;
import android.os.Binder;
-import android.telecom.DefaultDialerManager;
+import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
+import android.text.TextUtils;
import com.android.providers.contacts.util.ContactsPermissions;
@@ -41,9 +42,20 @@ public class VoicemailPermissions {
|| callerHasCarrierPrivileges();
}
+ private boolean isDefaultOrSystemDialer(String callingPackage) {
+ // Note: Mimics previous dependency on DefaultDialerManager; that code just returns false
+ // here if the calling package is empty.
+ if (TextUtils.isEmpty(callingPackage)) {
+ return false;
+ }
+ TelecomManager tm = mContext.getSystemService(TelecomManager.class);
+ return (callingPackage.equals(tm.getDefaultDialerPackage())
+ || callingPackage.equals(tm.getSystemDialerPackage()));
+ }
+
/** Determine if the calling process has full read access to all voicemails. */
public boolean callerHasReadAccess(String callingPackage) {
- if (DefaultDialerManager.isDefaultOrSystemDialer(mContext, callingPackage)) {
+ if (isDefaultOrSystemDialer(callingPackage)) {
return true;
}
return callerHasPermission(android.Manifest.permission.READ_VOICEMAIL);
@@ -52,7 +64,7 @@ public class VoicemailPermissions {
/** Determine if the calling process has the permission required to update and remove all
* voicemails */
public boolean callerHasWriteAccess(String callingPackage) {
- if (DefaultDialerManager.isDefaultOrSystemDialer(mContext, callingPackage)) {
+ if (isDefaultOrSystemDialer(callingPackage)) {
return true;
}
return callerHasPermission(android.Manifest.permission.WRITE_VOICEMAIL);
diff --git a/tests/src/com/android/providers/contacts/CallLogProviderTest.java b/tests/src/com/android/providers/contacts/CallLogProviderTest.java
index 247da7dc..bc609e27 100644
--- a/tests/src/com/android/providers/contacts/CallLogProviderTest.java
+++ b/tests/src/com/android/providers/contacts/CallLogProviderTest.java
@@ -16,9 +16,8 @@
package com.android.providers.contacts;
-import com.android.internal.telephony.CallerInfo;
+import android.telecom.CallerInfo;
import com.android.internal.telephony.PhoneConstants;
-import com.android.providers.contacts.CallLogDatabaseHelper.DbProperties;
import com.android.providers.contacts.testutil.CommonDatabaseUtils;
import android.content.ComponentName;
@@ -187,7 +186,7 @@ public class CallLogProviderTest extends BaseContactsProvider2Test {
public void testAddCall() {
CallerInfo ci = new CallerInfo();
- ci.name = "1-800-GOOG-411";
+ ci.setName("1-800-GOOG-411");
ci.numberType = Phone.TYPE_CUSTOM;
ci.numberLabel = "Directory";
final ComponentName sComponentName = new ComponentName(
@@ -209,7 +208,7 @@ public class CallLogProviderTest extends BaseContactsProvider2Test {
values.put(Calls.NUMBER_PRESENTATION, Calls.PRESENTATION_ALLOWED);
values.put(Calls.DATE, 2000);
values.put(Calls.DURATION, 40);
- values.put(Calls.CACHED_NAME, ci.name);
+ values.put(Calls.CACHED_NAME, ci.getName());
values.put(Calls.CACHED_NUMBER_TYPE, (String) null);
values.put(Calls.CACHED_NUMBER_LABEL, (String) null);
values.put(Calls.COUNTRY_ISO, "us");
diff --git a/tests/src/com/android/providers/contacts/CallerInfoIntegrationTest.java b/tests/src/com/android/providers/contacts/CallerInfoIntegrationTest.java
index 867f01f8..f57c0609 100644
--- a/tests/src/com/android/providers/contacts/CallerInfoIntegrationTest.java
+++ b/tests/src/com/android/providers/contacts/CallerInfoIntegrationTest.java
@@ -22,7 +22,7 @@ import android.net.Uri;
import android.provider.ContactsContract.RawContacts;
import android.test.suitebuilder.annotation.MediumTest;
-import com.android.internal.telephony.CallerInfo;
+import android.telecom.CallerInfo;
import com.android.providers.contacts.testutil.DataUtil;
/**
@@ -49,9 +49,9 @@ public class CallerInfoIntegrationTest extends BaseContactsProvider2Test {
insertPhoneNumber(rawContactId, "800-466-4411");
CallerInfo callerInfo = CallerInfo.getCallerInfo(getProvider().getContext(), "18004664411");
- assertEquals("800-466-4411", callerInfo.phoneNumber);
+ assertEquals("800-466-4411", callerInfo.getPhoneNumber());
assertEquals("Home", callerInfo.phoneLabel);
- assertEquals("Hot Tamale", callerInfo.name);
+ assertEquals("Hot Tamale", callerInfo.getName());
assertEquals("ring", String.valueOf(callerInfo.contactRingtoneUri));
assertEquals(true, callerInfo.shouldSendToVoicemail);
assertEquals("content://com.android.contacts/phone_lookup_enterprise/18004664411",
diff --git a/tests/src/com/android/providers/contacts/ContactsActor.java b/tests/src/com/android/providers/contacts/ContactsActor.java
index 470f64b7..89f296be 100644
--- a/tests/src/com/android/providers/contacts/ContactsActor.java
+++ b/tests/src/com/android/providers/contacts/ContactsActor.java
@@ -16,6 +16,8 @@
package com.android.providers.contacts;
+import static org.mockito.Mockito.when;
+
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
@@ -57,6 +59,7 @@ import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
import android.provider.ContactsContract.StatusUpdates;
+import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
import android.test.IsolatedContext;
import android.test.mock.MockContentResolver;
@@ -68,6 +71,8 @@ import com.android.providers.contacts.util.MockSharedPreferences;
import com.google.android.collect.Sets;
+import org.mockito.Mockito;
+
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -271,6 +276,8 @@ public class ContactsActor {
}
}
+ private TelecomManager mMockTelecomManager;
+
/**
* A context wrapper that reports a different user id.
*
@@ -322,6 +329,9 @@ public class ContactsActor {
if (Context.TELEPHONY_SERVICE.equals(name)) {
return mMockTelephonyManager;
}
+ if (Context.TELECOM_SERVICE.equals(name)) {
+ return mMockTelecomManager;
+ }
// Use overallContext here; super.getSystemService() somehow won't return
// DevicePolicyManager.
return overallContext.getSystemService(name);
@@ -369,6 +379,9 @@ public class ContactsActor {
if (Context.TELEPHONY_SERVICE.equals(name)) {
return mMockTelephonyManager;
}
+ if (Context.TELECOM_SERVICE.equals(name)) {
+ return mMockTelecomManager;
+ }
// Use overallContext here; super.getSystemService() somehow won't return
// DevicePolicyManager.
return overallContext.getSystemService(name);
@@ -403,6 +416,9 @@ public class ContactsActor {
mMockAccountManager = new MockAccountManager(mProviderContext);
mockUserManager = new MockUserManager(mProviderContext);
mMockTelephonyManager = new MockTelephonyManager(mProviderContext);
+ mMockTelecomManager = Mockito.mock(TelecomManager.class);
+ when(mMockTelecomManager.getDefaultDialerPackage()).thenReturn("");
+ when(mMockTelecomManager.getSystemDialerPackage()).thenReturn("");
provider = addProvider(providerClass, authority);
}