diff options
author | Eric Erfanian <erfanian@google.com> | 2017-07-25 09:36:19 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-07-25 16:40:56 +0000 |
commit | 9b4d9bca30470c65f3c97f965d1f21523a631299 (patch) | |
tree | a69760004caa7e4dc648f5140e2467c215e1a2c5 | |
parent | 3ab483433549d9dbc9b47cd5ad1b1d60b885a01a (diff) |
Move ContactPhotoManager code and related utilties out of contacts/common.
Bug: 37208805
Test: compiler, on device
PiperOrigin-RevId: 162268272
Change-Id: I98d63d063b9a4dff6a1b1b7462378ef7d0139bd2
41 files changed, 135 insertions, 169 deletions
diff --git a/Android.mk b/Android.mk index cf4adc752..13ca62274 100644 --- a/Android.mk +++ b/Android.mk @@ -81,6 +81,7 @@ RES_DIRS := \ $(BASE_DIR)/dialer/calllogutils/res \ $(BASE_DIR)/dialer/common/res \ $(BASE_DIR)/dialer/contactactions/res \ + $(BASE_DIR)/dialer/contactphoto/res \ $(BASE_DIR)/dialer/contactsfragment/res \ $(BASE_DIR)/dialer/dialpadview/res \ $(BASE_DIR)/dialer/enrichedcall/simulator/res \ @@ -123,6 +124,7 @@ RES_DIRS := \ $(BASE_DIR)/voicemail/impl/res \ + # Dialer manifest files to merge. # find . -type f -name "AndroidManifest.xml" | uniq | sort DIALER_MANIFEST_FILES += \ @@ -142,6 +144,7 @@ DIALER_MANIFEST_FILES += \ $(BASE_DIR)/dialer/calllogutils/AndroidManifest.xml \ $(BASE_DIR)/dialer/common/AndroidManifest.xml \ $(BASE_DIR)/dialer/contactactions/AndroidManifest.xml \ + $(BASE_DIR)/dialer/contactphoto/AndroidManifest.xml \ $(BASE_DIR)/dialer/contactsfragment/AndroidManifest.xml \ $(BASE_DIR)/dialer/dialpadview/AndroidManifest.xml \ $(BASE_DIR)/dialer/enrichedcall/simulator/AndroidManifest.xml \ @@ -219,6 +222,7 @@ LOCAL_AAPT_FLAGS := \ --extra-packages com.android.dialer.calllogutils \ --extra-packages com.android.dialer.common \ --extra-packages com.android.dialer.contactactions \ + --extra-packages com.android.dialer.contactphoto \ --extra-packages com.android.dialer.contactsfragment \ --extra-packages com.android.dialer.dialpadview \ --extra-packages com.android.dialer.enrichedcall.simulator \ diff --git a/java/com/android/contacts/common/Bindings.java b/java/com/android/contacts/common/Bindings.java deleted file mode 100644 index 29cf7950a..000000000 --- a/java/com/android/contacts/common/Bindings.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.contacts.common; - -import android.content.Context; -import com.android.contacts.common.bindings.ContactsCommonBindings; -import com.android.contacts.common.bindings.ContactsCommonBindingsFactory; -import com.android.contacts.common.bindings.ContactsCommonBindingsStub; -import java.util.Objects; - -/** Accessor for the contacts common bindings. */ -public class Bindings { - - private static ContactsCommonBindings instance; - - private Bindings() {} - - public static ContactsCommonBindings get(Context context) { - Objects.requireNonNull(context); - if (instance != null) { - return instance; - } - - Context application = context.getApplicationContext(); - if (application instanceof ContactsCommonBindingsFactory) { - instance = ((ContactsCommonBindingsFactory) application).newContactsCommonBindings(); - } - - if (instance == null) { - instance = new ContactsCommonBindingsStub(); - } - return instance; - } - - public static void setForTesting(ContactsCommonBindings testInstance) { - instance = testInstance; - } -} diff --git a/java/com/android/contacts/common/bindings/ContactsCommonBindings.java b/java/com/android/contacts/common/bindings/ContactsCommonBindings.java deleted file mode 100644 index 44be53b3f..000000000 --- a/java/com/android/contacts/common/bindings/ContactsCommonBindings.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ - -package com.android.contacts.common.bindings; - -import android.support.annotation.Nullable; - -/** Allows the container application to customize the contacts common library. */ -public interface ContactsCommonBindings { - - /** Builds a user agent string for the current application. */ - @Nullable - String getUserAgent(); -} diff --git a/java/com/android/contacts/common/bindings/ContactsCommonBindingsFactory.java b/java/com/android/contacts/common/bindings/ContactsCommonBindingsFactory.java deleted file mode 100644 index 8958ad997..000000000 --- a/java/com/android/contacts/common/bindings/ContactsCommonBindingsFactory.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ - -package com.android.contacts.common.bindings; - -/** - * This interface should be implementated by the Application subclass. It allows the contacts common - * module to get references to the ContactsCommonBindings. - */ -public interface ContactsCommonBindingsFactory { - - ContactsCommonBindings newContactsCommonBindings(); -} diff --git a/java/com/android/contacts/common/bindings/ContactsCommonBindingsStub.java b/java/com/android/contacts/common/bindings/ContactsCommonBindingsStub.java deleted file mode 100644 index f2e21b18e..000000000 --- a/java/com/android/contacts/common/bindings/ContactsCommonBindingsStub.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ - -package com.android.contacts.common.bindings; - -import android.support.annotation.Nullable; - -/** Default implementation for contacts common bindings. */ -public class ContactsCommonBindingsStub implements ContactsCommonBindings { - - @Override - @Nullable - public String getUserAgent() { - return null; - } -} diff --git a/java/com/android/contacts/common/dialog/CallSubjectDialog.java b/java/com/android/contacts/common/dialog/CallSubjectDialog.java index 81012e2e9..5c2ae2fa5 100644 --- a/java/com/android/contacts/common/dialog/CallSubjectDialog.java +++ b/java/com/android/contacts/common/dialog/CallSubjectDialog.java @@ -43,12 +43,12 @@ import android.widget.EditText; import android.widget.ListView; import android.widget.QuickContactBadge; import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.R; import com.android.dialer.animation.AnimUtils; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.common.LogUtil; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.lettertile.LetterTileDrawable; import com.android.dialer.util.ViewUtil; import java.nio.charset.Charset; diff --git a/java/com/android/contacts/common/list/ContactEntryListAdapter.java b/java/com/android/contacts/common/list/ContactEntryListAdapter.java index 7335297e0..117825dce 100644 --- a/java/com/android/contacts/common/list/ContactEntryListAdapter.java +++ b/java/com/android/contacts/common/list/ContactEntryListAdapter.java @@ -32,8 +32,6 @@ import android.view.ViewGroup; import android.widget.QuickContactBadge; import android.widget.SectionIndexer; import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; -import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.ContactsUtils; import com.android.contacts.common.R; import com.android.contacts.common.compat.DirectoryCompat; @@ -41,6 +39,8 @@ import com.android.contacts.common.util.SearchUtil; import com.android.dialer.common.LogUtil; import com.android.dialer.compat.CompatUtils; import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.contactphoto.ContactPhotoManager; +import com.android.dialer.contactphoto.ContactPhotoManager.DefaultImageRequest; import com.android.dialer.logging.InteractionEvent; import com.android.dialer.logging.Logger; import java.util.HashSet; diff --git a/java/com/android/contacts/common/list/ContactEntryListFragment.java b/java/com/android/contacts/common/list/ContactEntryListFragment.java index 04658be89..94551a8c8 100644 --- a/java/com/android/contacts/common/list/ContactEntryListFragment.java +++ b/java/com/android/contacts/common/list/ContactEntryListFragment.java @@ -43,10 +43,10 @@ import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import com.android.common.widget.CompositeCursorAdapter.Partition; -import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.common.util.ContactListViewUtils; import com.android.dialer.common.LogUtil; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.performancereport.PerformanceReport; import java.lang.ref.WeakReference; import java.util.Locale; diff --git a/java/com/android/contacts/common/list/ContactListAdapter.java b/java/com/android/contacts/common/list/ContactListAdapter.java index 6cd311811..721609d1d 100644 --- a/java/com/android/contacts/common/list/ContactListAdapter.java +++ b/java/com/android/contacts/common/list/ContactListAdapter.java @@ -23,9 +23,9 @@ import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Directory; import android.provider.ContactsContract.SearchSnippets; import android.view.ViewGroup; -import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.R; import com.android.contacts.common.preference.ContactsPreferences; +import com.android.dialer.contactphoto.ContactPhotoManager.DefaultImageRequest; /** * A cursor adapter for the {@link ContactsContract.Contacts#CONTENT_TYPE} content type. Also diff --git a/java/com/android/contacts/common/list/ContactTileView.java b/java/com/android/contacts/common/list/ContactTileView.java index 15582d684..463564145 100644 --- a/java/com/android/contacts/common/list/ContactTileView.java +++ b/java/com/android/contacts/common/list/ContactTileView.java @@ -23,13 +23,13 @@ import android.view.View; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; -import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.MoreContactUtils; import com.android.contacts.common.R; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.common.LogUtil; +import com.android.dialer.contactphoto.ContactPhotoManager; +import com.android.dialer.contactphoto.ContactPhotoManager.DefaultImageRequest; /** A ContactTile displays a contact's picture and name */ public abstract class ContactTileView extends FrameLayout { diff --git a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java index 87fc496f6..b7427985b 100644 --- a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java +++ b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java @@ -30,7 +30,6 @@ import android.provider.ContactsContract.Directory; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; -import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.ContactsUtils; import com.android.contacts.common.R; import com.android.contacts.common.compat.CallableCompat; @@ -42,6 +41,7 @@ import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.common.util.Constants; import com.android.dialer.common.LogUtil; import com.android.dialer.compat.CompatUtils; +import com.android.dialer.contactphoto.ContactPhotoManager.DefaultImageRequest; import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.enrichedcall.EnrichedCallCapabilities; import com.android.dialer.enrichedcall.EnrichedCallComponent; diff --git a/java/com/android/contacts/common/model/ContactLoader.java b/java/com/android/contacts/common/model/ContactLoader.java index 7ef3b73a0..7ad1f71ac 100644 --- a/java/com/android/contacts/common/model/ContactLoader.java +++ b/java/com/android/contacts/common/model/ContactLoader.java @@ -44,10 +44,10 @@ import com.android.contacts.common.model.dataitem.PhoneDataItem; import com.android.contacts.common.model.dataitem.PhotoDataItem; import com.android.contacts.common.util.Constants; import com.android.contacts.common.util.ContactLoaderUtils; -import com.android.contacts.common.util.UriUtils; import com.android.dialer.common.LogUtil; import com.android.dialer.location.GeoUtil; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.util.UriUtils; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.common.collect.Maps; diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java index 9eccdd374..01abb47a2 100644 --- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java +++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java @@ -50,10 +50,8 @@ import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.android.contacts.common.ClipboardUtils; -import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.compat.PhoneNumberUtilsCompat; import com.android.contacts.common.dialog.CallSubjectDialog; -import com.android.contacts.common.util.UriUtils; import com.android.dialer.app.DialtactsActivity; import com.android.dialer.app.R; import com.android.dialer.app.calllog.CallLogAdapter.OnActionModeStateChangedListener; @@ -71,6 +69,7 @@ import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.compat.CompatUtils; import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.dialercontact.SimDetails; import com.android.dialer.lettertile.LetterTileDrawable; @@ -91,6 +90,7 @@ import com.android.dialer.phonenumberutil.PhoneNumberHelper; import com.android.dialer.telecom.TelecomUtil; import com.android.dialer.util.CallUtil; import com.android.dialer.util.DialerUtils; +import com.android.dialer.util.UriUtils; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/java/com/android/dialer/app/filterednumber/BlockedNumbersAdapter.java b/java/com/android/dialer/app/filterednumber/BlockedNumbersAdapter.java index dbd4e868c..ca12e4351 100644 --- a/java/com/android/dialer/app/filterednumber/BlockedNumbersAdapter.java +++ b/java/com/android/dialer/app/filterednumber/BlockedNumbersAdapter.java @@ -20,9 +20,9 @@ import android.content.Context; import android.database.Cursor; import android.telephony.PhoneNumberUtils; import android.view.View; -import com.android.contacts.common.ContactPhotoManager; import com.android.dialer.app.R; import com.android.dialer.blocking.BlockNumberDialogFragment; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.database.FilteredNumberContract.FilteredNumberColumns; import com.android.dialer.location.GeoUtil; import com.android.dialer.logging.InteractionEvent; diff --git a/java/com/android/dialer/app/filterednumber/NumbersAdapter.java b/java/com/android/dialer/app/filterednumber/NumbersAdapter.java index b8bf86d37..6e1d1a5a6 100644 --- a/java/com/android/dialer/app/filterednumber/NumbersAdapter.java +++ b/java/com/android/dialer/app/filterednumber/NumbersAdapter.java @@ -26,15 +26,15 @@ import android.view.View; import android.widget.QuickContactBadge; import android.widget.SimpleCursorAdapter; import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; -import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; -import com.android.contacts.common.util.UriUtils; import com.android.dialer.app.R; import com.android.dialer.compat.CompatUtils; +import com.android.dialer.contactphoto.ContactPhotoManager; +import com.android.dialer.contactphoto.ContactPhotoManager.DefaultImageRequest; import com.android.dialer.lettertile.LetterTileDrawable; import com.android.dialer.phonenumbercache.ContactInfo; import com.android.dialer.phonenumbercache.ContactInfoHelper; import com.android.dialer.phonenumberutil.PhoneNumberHelper; +import com.android.dialer.util.UriUtils; public class NumbersAdapter extends SimpleCursorAdapter { diff --git a/java/com/android/dialer/app/filterednumber/ViewNumbersToImportAdapter.java b/java/com/android/dialer/app/filterednumber/ViewNumbersToImportAdapter.java index 313efb4d7..1e90eecb6 100644 --- a/java/com/android/dialer/app/filterednumber/ViewNumbersToImportAdapter.java +++ b/java/com/android/dialer/app/filterednumber/ViewNumbersToImportAdapter.java @@ -19,9 +19,9 @@ import android.app.FragmentManager; import android.content.Context; import android.database.Cursor; import android.view.View; -import com.android.contacts.common.ContactPhotoManager; import com.android.dialer.app.R; import com.android.dialer.blocking.FilteredNumbersUtil; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.location.GeoUtil; import com.android.dialer.phonenumbercache.ContactInfoHelper; diff --git a/java/com/android/dialer/app/list/OldSpeedDialFragment.java b/java/com/android/dialer/app/list/OldSpeedDialFragment.java index 05d017b28..afc7c133b 100644 --- a/java/com/android/dialer/app/list/OldSpeedDialFragment.java +++ b/java/com/android/dialer/app/list/OldSpeedDialFragment.java @@ -45,13 +45,13 @@ import android.widget.FrameLayout; import android.widget.FrameLayout.LayoutParams; import android.widget.ImageView; import android.widget.ListView; -import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.ContactTileLoaderFactory; import com.android.contacts.common.list.ContactTileView; import com.android.contacts.common.list.OnPhoneNumberPickerActionListener; import com.android.dialer.app.R; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.common.LogUtil; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.util.PermissionsUtil; import com.android.dialer.util.ViewUtil; import com.android.dialer.widget.EmptyContentView; diff --git a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java index ef884790f..455085d85 100644 --- a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java +++ b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java @@ -23,7 +23,6 @@ import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; -import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.MoreContactUtils; import com.android.contacts.common.list.ContactEntry; import com.android.contacts.common.list.ContactTileView; @@ -31,6 +30,7 @@ import com.android.dialer.app.R; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.callintent.SpeedDialContactType; +import com.android.dialer.contactphoto.ContactPhotoManager.DefaultImageRequest; import com.android.dialer.lettertile.LetterTileDrawable; import com.android.dialer.logging.InteractionEvent; import com.android.dialer.logging.Logger; diff --git a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java index dbd601a7d..cd5712eed 100644 --- a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java +++ b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java @@ -34,13 +34,13 @@ import android.util.LongSparseArray; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; -import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.ContactTileLoaderFactory; import com.android.contacts.common.list.ContactEntry; import com.android.contacts.common.list.ContactTileView; import com.android.contacts.common.preference.ContactsPreferences; import com.android.dialer.app.R; import com.android.dialer.common.LogUtil; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.lightbringer.Lightbringer; import com.android.dialer.lightbringer.LightbringerComponent; import com.android.dialer.logging.InteractionEvent; diff --git a/java/com/android/dialer/callcomposer/CallComposerActivity.java b/java/com/android/dialer/callcomposer/CallComposerActivity.java index 0b4c20a55..7ca759dc0 100644 --- a/java/com/android/dialer/callcomposer/CallComposerActivity.java +++ b/java/com/android/dialer/callcomposer/CallComposerActivity.java @@ -50,7 +50,6 @@ import android.widget.QuickContactBadge; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; -import com.android.contacts.common.ContactPhotoManager; import com.android.dialer.callcomposer.CallComposerFragment.CallComposerListener; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallIntentBuilder; @@ -61,6 +60,7 @@ import com.android.dialer.common.concurrent.DialerExecutors; import com.android.dialer.common.concurrent.ThreadUtil; import com.android.dialer.configprovider.ConfigProviderBindings; import com.android.dialer.constants.Constants; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.enrichedcall.EnrichedCallComponent; import com.android.dialer.enrichedcall.EnrichedCallManager; diff --git a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java index 3df3c3aac..7d5757bbd 100644 --- a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java +++ b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java @@ -24,10 +24,10 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.QuickContactBadge; import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.common.Assert; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.InteractionEvent; diff --git a/java/com/android/dialer/constants/Constants.java b/java/com/android/dialer/constants/Constants.java index 076393e63..f9d07e31d 100644 --- a/java/com/android/dialer/constants/Constants.java +++ b/java/com/android/dialer/constants/Constants.java @@ -16,6 +16,7 @@ package com.android.dialer.constants; +import android.content.Context; import android.support.annotation.NonNull; import com.android.dialer.common.Assert; import com.android.dialer.proguard.UsedByReflection; @@ -56,5 +57,7 @@ public abstract class Constants { @NonNull public abstract String getAnnotatedCallLogProviderAuthority(); + public abstract String getUserAgent(Context context); + protected Constants() {} } diff --git a/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java b/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java index 1111732f3..38fd24b8a 100644 --- a/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java +++ b/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java @@ -16,6 +16,7 @@ package com.android.dialer.constants; +import android.content.Context; import android.support.annotation.NonNull; import com.android.dialer.proguard.UsedByReflection; @@ -40,4 +41,9 @@ public class ConstantsImpl extends Constants { public String getAnnotatedCallLogProviderAuthority() { return "com.android.dialer.annotatedcalllog"; } + + @Override + public String getUserAgent(Context context) { + return null; + } } diff --git a/java/com/android/dialer/constants/googledialer/ConstantsImpl.java b/java/com/android/dialer/constants/googledialer/ConstantsImpl.java index 28d8b2514..e151344ba 100644 --- a/java/com/android/dialer/constants/googledialer/ConstantsImpl.java +++ b/java/com/android/dialer/constants/googledialer/ConstantsImpl.java @@ -16,6 +16,9 @@ package com.android.dialer.constants; +import android.content.Context; +import android.content.pm.PackageManager; +import android.os.Build; import android.support.annotation.NonNull; import com.android.dialer.proguard.UsedByReflection; @@ -40,4 +43,19 @@ public class ConstantsImpl extends Constants { public String getAnnotatedCallLogProviderAuthority() { return "com.google.android.dialer.annotatedcalllog"; } + + @Override + public String getUserAgent(Context context) { + StringBuilder userAgent = new StringBuilder("GoogleDialer "); + try { + String versionName = + context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName; + userAgent.append(versionName).append(" "); + } catch (PackageManager.NameNotFoundException e) { + // ignore + } + userAgent.append(Build.FINGERPRINT); + + return userAgent.toString(); + } } diff --git a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java index 56c8a9465..9bf7ca095 100644 --- a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java +++ b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java @@ -28,8 +28,8 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; import com.android.dialer.common.Assert; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.dialercontact.DialerContact; import java.util.List; diff --git a/java/com/android/dialer/contactphoto/AndroidManifest.xml b/java/com/android/dialer/contactphoto/AndroidManifest.xml new file mode 100644 index 000000000..d852d40af --- /dev/null +++ b/java/com/android/dialer/contactphoto/AndroidManifest.xml @@ -0,0 +1,18 @@ +<!-- + ~ Copyright (C) 2017 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<manifest + package="com.android.dialer.contactphoto"> +</manifest>
\ No newline at end of file diff --git a/java/com/android/contacts/common/util/BitmapUtil.java b/java/com/android/dialer/contactphoto/BitmapUtil.java index 51f65f280..36055e2c1 100644 --- a/java/com/android/contacts/common/util/BitmapUtil.java +++ b/java/com/android/dialer/contactphoto/BitmapUtil.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.contacts.common.util; +package com.android.dialer.contactphoto; import android.graphics.Bitmap; import android.graphics.BitmapFactory; diff --git a/java/com/android/contacts/common/ContactPhotoManager.java b/java/com/android/dialer/contactphoto/ContactPhotoManager.java index e86050193..459837936 100644 --- a/java/com/android/contacts/common/ContactPhotoManager.java +++ b/java/com/android/dialer/contactphoto/ContactPhotoManager.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.contacts.common; +package com.android.dialer.contactphoto; import android.content.ComponentCallbacks2; import android.content.Context; @@ -28,10 +28,10 @@ import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import android.widget.QuickContactBadge; -import com.android.contacts.common.util.UriUtils; import com.android.dialer.common.LogUtil; import com.android.dialer.lettertile.LetterTileDrawable; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.util.UriUtils; /** Asynchronously loads contact photos and maintains a cache of photos. */ public abstract class ContactPhotoManager implements ComponentCallbacks2 { diff --git a/java/com/android/contacts/common/ContactPhotoManagerImpl.java b/java/com/android/dialer/contactphoto/ContactPhotoManagerImpl.java index ea317953e..4ad7ea465 100644 --- a/java/com/android/contacts/common/ContactPhotoManagerImpl.java +++ b/java/com/android/dialer/contactphoto/ContactPhotoManagerImpl.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.contacts.common; +package com.android.dialer.contactphoto; import android.app.ActivityManager; import android.content.ComponentCallbacks2; @@ -52,11 +52,11 @@ import android.util.LruCache; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; -import com.android.contacts.common.util.BitmapUtil; -import com.android.contacts.common.util.UriUtils; import com.android.dialer.common.LogUtil; +import com.android.dialer.constants.Constants; import com.android.dialer.constants.TrafficStatsTags; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.util.UriUtils; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; @@ -197,7 +197,7 @@ class ContactPhotoManagerImpl extends ContactPhotoManager implements Callback { context.getResources().getDimensionPixelSize(R.dimen.contact_browser_list_item_photo_size); // Get a user agent string to use for URI photo requests. - mUserAgent = Bindings.get(context).getUserAgent(); + mUserAgent = Constants.get().getUserAgent(context); if (mUserAgent == null) { mUserAgent = ""; } diff --git a/java/com/android/dialer/contactphoto/res/values/dimens.xml b/java/com/android/dialer/contactphoto/res/values/dimens.xml new file mode 100644 index 000000000..7c3361a4a --- /dev/null +++ b/java/com/android/dialer/contactphoto/res/values/dimens.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2017 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<resources> + <dimen name="contact_browser_list_item_photo_size">40dp</dimen> +</resources>
\ No newline at end of file diff --git a/java/com/android/dialer/contactphoto/res/values/strings.xml b/java/com/android/dialer/contactphoto/res/values/strings.xml new file mode 100644 index 000000000..5b050d878 --- /dev/null +++ b/java/com/android/dialer/contactphoto/res/values/strings.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2012 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- String describing the text for photo of a contact in a contacts list. + + Note: AccessibilityServices use this attribute to announce what the view represents. + This is especially valuable for views without textual representation like ImageView. + --> + <string name="description_quick_contact_for">Quick contact for <xliff:g id="name">%1$s</xliff:g></string> +</resources>
\ No newline at end of file diff --git a/java/com/android/dialer/contactsfragment/ContactsAdapter.java b/java/com/android/dialer/contactsfragment/ContactsAdapter.java index ae2728e99..6b9374c07 100644 --- a/java/com/android/dialer/contactsfragment/ContactsAdapter.java +++ b/java/com/android/dialer/contactsfragment/ContactsAdapter.java @@ -26,8 +26,8 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import com.android.contacts.common.ContactPhotoManager; import com.android.dialer.common.Assert; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.lettertile.LetterTileDrawable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/java/com/android/dialer/phonenumbercache/ContactInfo.java b/java/com/android/dialer/phonenumbercache/ContactInfo.java index aef7374e4..a620a2377 100644 --- a/java/com/android/dialer/phonenumbercache/ContactInfo.java +++ b/java/com/android/dialer/phonenumbercache/ContactInfo.java @@ -20,8 +20,8 @@ import android.net.Uri; import android.support.annotation.NonNull; import android.text.TextUtils; import com.android.contacts.common.ContactsUtils.UserType; -import com.android.contacts.common.util.UriUtils; import com.android.dialer.logging.ContactSource; +import com.android.dialer.util.UriUtils; /** Information for a contact as needed by the Call Log. */ public class ContactInfo { diff --git a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java index 4fa3147eb..b680bd57d 100644 --- a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java +++ b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java @@ -38,7 +38,6 @@ import com.android.contacts.common.ContactsUtils; import com.android.contacts.common.ContactsUtils.UserType; import com.android.contacts.common.compat.DirectoryCompat; import com.android.contacts.common.util.Constants; -import com.android.contacts.common.util.UriUtils; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.logging.ContactSource; @@ -48,6 +47,7 @@ import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedConta import com.android.dialer.phonenumberutil.PhoneNumberHelper; import com.android.dialer.telecom.TelecomUtil; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.util.UriUtils; import java.util.ArrayList; import java.util.List; import org.json.JSONException; diff --git a/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java b/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java index 36c206e76..734aefdcb 100644 --- a/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java +++ b/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java @@ -30,10 +30,10 @@ import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.QuickContactBadge; import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; import com.android.dialer.callintent.CallInitiationType.Type; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.common.Assert; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.lettertile.LetterTileDrawable; import com.android.dialer.searchfragment.common.Projections; import com.android.dialer.searchfragment.common.QueryBoldingUtil; diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlaceViewHolder.java b/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlaceViewHolder.java index 0fc227dfd..575582e07 100644 --- a/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlaceViewHolder.java +++ b/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlaceViewHolder.java @@ -24,9 +24,9 @@ import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.QuickContactBadge; import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallIntentBuilder; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.lettertile.LetterTileDrawable; import com.android.dialer.searchfragment.common.Projections; import com.android.dialer.searchfragment.common.QueryBoldingUtil; diff --git a/java/com/android/contacts/common/util/UriUtils.java b/java/com/android/dialer/util/UriUtils.java index 4690942ba..c4308a835 100644 --- a/java/com/android/contacts/common/util/UriUtils.java +++ b/java/com/android/dialer/util/UriUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.contacts.common.util; +package com.android.dialer.util; import android.net.Uri; import android.provider.ContactsContract; @@ -23,6 +23,8 @@ import java.util.List; /** Utility methods for dealing with URIs. */ public class UriUtils { + private static final String LOOKUP_URI_ENCODED = "encoded"; + /** Static helper, not instantiable. */ private UriUtils() {} @@ -58,7 +60,7 @@ public class UriUtils { if (lastPathSegment == null) { return false; } - return lastPathSegment.equals(Constants.LOOKUP_URI_ENCODED); + return lastPathSegment.equals(LOOKUP_URI_ENCODED); } /** diff --git a/java/com/android/incallui/ConferenceManagerFragment.java b/java/com/android/incallui/ConferenceManagerFragment.java index cef8a3874..bd6cb850b 100644 --- a/java/com/android/incallui/ConferenceManagerFragment.java +++ b/java/com/android/incallui/ConferenceManagerFragment.java @@ -21,7 +21,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; -import com.android.contacts.common.ContactPhotoManager; +import com.android.dialer.contactphoto.ContactPhotoManager; import com.android.dialer.logging.Logger; import com.android.dialer.logging.ScreenEvent; import com.android.incallui.ConferenceManagerPresenter.ConferenceManagerUi; diff --git a/java/com/android/incallui/ConferenceParticipantListAdapter.java b/java/com/android/incallui/ConferenceParticipantListAdapter.java index 712bdefa6..70cdf245f 100644 --- a/java/com/android/incallui/ConferenceParticipantListAdapter.java +++ b/java/com/android/incallui/ConferenceParticipantListAdapter.java @@ -31,12 +31,12 @@ import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; -import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.compat.PhoneNumberUtilsCompat; import com.android.contacts.common.preference.ContactsPreferences; import com.android.contacts.common.util.ContactDisplayUtils; import com.android.dialer.common.LogUtil; +import com.android.dialer.contactphoto.ContactPhotoManager; +import com.android.dialer.contactphoto.ContactPhotoManager.DefaultImageRequest; import com.android.incallui.ContactInfoCache.ContactCacheEntry; import com.android.incallui.call.CallList; import com.android.incallui.call.DialerCall; diff --git a/java/com/android/incallui/ExternalCallNotifier.java b/java/com/android/incallui/ExternalCallNotifier.java index f01a29458..ed3c91897 100644 --- a/java/com/android/incallui/ExternalCallNotifier.java +++ b/java/com/android/incallui/ExternalCallNotifier.java @@ -40,8 +40,8 @@ import android.util.ArrayMap; import com.android.contacts.common.ContactsUtils; import com.android.contacts.common.compat.CallCompat; import com.android.contacts.common.preference.ContactsPreferences; -import com.android.contacts.common.util.BitmapUtil; import com.android.contacts.common.util.ContactDisplayUtils; +import com.android.dialer.contactphoto.BitmapUtil; import com.android.dialer.notification.NotificationChannelId; import com.android.incallui.call.DialerCall; import com.android.incallui.call.DialerCallDelegate; diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java index cf564c66b..03e119efe 100644 --- a/java/com/android/incallui/StatusBarNotifier.java +++ b/java/com/android/incallui/StatusBarNotifier.java @@ -61,10 +61,10 @@ import android.text.style.ForegroundColorSpan; import com.android.contacts.common.ContactsUtils; import com.android.contacts.common.ContactsUtils.UserType; import com.android.contacts.common.preference.ContactsPreferences; -import com.android.contacts.common.util.BitmapUtil; import com.android.contacts.common.util.ContactDisplayUtils; import com.android.dialer.common.LogUtil; import com.android.dialer.configprovider.ConfigProviderBindings; +import com.android.dialer.contactphoto.BitmapUtil; import com.android.dialer.enrichedcall.EnrichedCallManager; import com.android.dialer.enrichedcall.Session; import com.android.dialer.lettertile.LetterTileDrawable; |