diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-11-11 21:33:23 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-11-11 21:33:23 +0000 |
commit | 1411b53a47412c0d56b2de5cba988ded166b073b (patch) | |
tree | 092b69d57d6ec2f42aa41149f069a7f401a3e8f7 | |
parent | b1fe746be1effef64def46964f605b4388568ecf (diff) | |
parent | e8cc4b4737ca30dd1e057832114d4a678149a739 (diff) | |
download | ContactsProvider-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
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); } |