diff options
author | Tobias Thierer <tobiast@google.com> | 2017-06-09 14:16:05 +0000 |
---|---|---|
committer | Tobias Thierer <tobiast@google.com> | 2017-06-09 14:16:05 +0000 |
commit | cded3beaf28a703e1ef8f71bbc6836e6806c3736 (patch) | |
tree | c1b5e8199b5996fc848e7455d04126b9cdbb3c39 /java/com/android/dialer/app/list | |
parent | c67d658e7daa453fe9ad9fd1a37f81eaf2048c44 (diff) |
Revert "Update AOSP Dialer source from internal google3 repository at cl/158012278. am: 91ce7d2a47"
This reverts commit c67d658e7daa453fe9ad9fd1a37f81eaf2048c44.
Reason for revert: This CL broke the sailfish-userdebug_javac-all target on master.
Change-Id: I9b54333a654c00154ca84f4ece84bea4f07cc19b
Diffstat (limited to 'java/com/android/dialer/app/list')
13 files changed, 65 insertions, 260 deletions
diff --git a/java/com/android/dialer/app/list/AllContactsFragment.java b/java/com/android/dialer/app/list/AllContactsFragment.java index f5fdb9e2d..04609970a 100644 --- a/java/com/android/dialer/app/list/AllContactsFragment.java +++ b/java/com/android/dialer/app/list/AllContactsFragment.java @@ -38,14 +38,12 @@ import com.android.contacts.common.list.ContactEntryListFragment; import com.android.contacts.common.list.ContactListFilter; import com.android.contacts.common.list.DefaultContactListAdapter; import com.android.dialer.app.R; +import com.android.dialer.app.widget.EmptyContentView; +import com.android.dialer.app.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; import com.android.dialer.compat.CompatUtils; -import com.android.dialer.logging.InteractionEvent; -import com.android.dialer.logging.Logger; import com.android.dialer.util.DialerUtils; import com.android.dialer.util.IntentUtil; import com.android.dialer.util.PermissionsUtil; -import com.android.dialer.widget.EmptyContentView; -import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; /** Fragments to show all contacts with phone numbers. */ public class AllContactsFragment extends ContactEntryListFragment<ContactEntryListAdapter> @@ -151,8 +149,6 @@ public class AllContactsFragment extends ContactEntryListFragment<ContactEntryLi public void onItemClick(AdapterView<?> parent, View view, int position, long id) { final Uri uri = (Uri) view.getTag(); if (uri != null) { - Logger.get(getContext()) - .logInteraction(InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_ALL_CONTACTS_GENERAL); if (CompatUtils.hasPrioritizedMimeType()) { QuickContact.showQuickContact(getContext(), view, uri, null, Phone.CONTENT_ITEM_TYPE); } else { diff --git a/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java b/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java index 04927cf7a..537f488d5 100644 --- a/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java +++ b/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java @@ -19,7 +19,6 @@ package com.android.dialer.app.list; import android.content.Context; import android.content.res.Resources; import android.database.Cursor; -import android.graphics.drawable.Drawable; import android.telephony.PhoneNumberUtils; import android.text.BidiFormatter; import android.text.TextDirectionHeuristics; @@ -30,6 +29,7 @@ import com.android.contacts.common.list.PhoneNumberListAdapter; import com.android.contacts.common.util.ContactDisplayUtils; import com.android.dialer.app.R; import com.android.dialer.location.GeoUtil; +import com.android.dialer.util.CallUtil; /** * {@link PhoneNumberListAdapter} with the following added shortcuts, that are displayed as list @@ -50,6 +50,7 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { private final boolean[] mShortcutEnabled = new boolean[SHORTCUT_COUNT]; private final BidiFormatter mBidiFormatter = BidiFormatter.getInstance(); + private final boolean mVideoCallingEnabled; private final String mCountryIso; private String mFormattedQueryString; @@ -58,6 +59,7 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { super(context); mCountryIso = GeoUtil.getCurrentCountryIso(context); + mVideoCallingEnabled = CallUtil.isVideoEnabled(context); } @Override @@ -108,7 +110,8 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { return convertView; } else { final ContactListItemView v = - new ContactListItemView(getContext(), null, mIsImsVideoEnabled); + new ContactListItemView( + getContext(), null, mVideoCallingEnabled, isCallAndShareEnabled()); assignShortcutToView(v, shortcutType); return v; } @@ -122,7 +125,8 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { Context context, int partition, Cursor cursor, int position, ViewGroup parent) { final ContactListItemView view = super.newView(context, partition, cursor, position, parent); - view.setSupportVideoCallIcon(mIsImsVideoEnabled); + view.setSupportVideoCallIcon(mVideoCallingEnabled); + view.setSupportCallAndShareIcon(isCallAndShareEnabled()); return view; } @@ -167,7 +171,7 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { private void assignShortcutToView(ContactListItemView v, int shortcutType) { final CharSequence text; - final Drawable drawable; + final int drawableId; final Resources resources = getContext().getResources(); final String number = getFormattedQueryString(); switch (shortcutType) { @@ -177,39 +181,34 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { resources, R.string.search_shortcut_call_number, mBidiFormatter.unicodeWrap(number, TextDirectionHeuristics.LTR)); - drawable = getContext().getResources().getDrawable(R.drawable.quantum_ic_call_vd_theme_24); + drawableId = R.drawable.ic_search_phone; break; case SHORTCUT_CREATE_NEW_CONTACT: text = resources.getString(R.string.search_shortcut_create_new_contact); - drawable = - getContext().getResources().getDrawable(R.drawable.quantum_ic_person_add_vd_theme_24); - drawable.setAutoMirrored(true); + drawableId = R.drawable.ic_search_add_contact; break; case SHORTCUT_ADD_TO_EXISTING_CONTACT: text = resources.getString(R.string.search_shortcut_add_to_contact); - drawable = - getContext().getResources().getDrawable(R.drawable.quantum_ic_person_add_vd_theme_24); + drawableId = R.drawable.quantum_ic_person_white_24; break; case SHORTCUT_SEND_SMS_MESSAGE: text = resources.getString(R.string.search_shortcut_send_sms_message); - drawable = - getContext().getResources().getDrawable(R.drawable.quantum_ic_message_vd_theme_24); + drawableId = R.drawable.quantum_ic_message_white_24; break; case SHORTCUT_MAKE_VIDEO_CALL: text = resources.getString(R.string.search_shortcut_make_video_call); - drawable = - getContext().getResources().getDrawable(R.drawable.quantum_ic_videocam_vd_theme_24); + drawableId = R.drawable.quantum_ic_videocam_white_24; break; case SHORTCUT_BLOCK_NUMBER: text = resources.getString(R.string.search_shortcut_block_number); - drawable = - getContext().getResources().getDrawable(R.drawable.ic_not_interested_googblue_24dp); + drawableId = R.drawable.ic_not_interested_googblue_24dp; break; default: throw new IllegalArgumentException("Invalid shortcut type"); } - v.setDrawable(drawable); + v.setDrawableResource(drawableId); v.setDisplayName(text); + v.setPhotoPosition(super.getPhotoPosition()); v.setAdjustSelectionBoundsEnabled(false); } diff --git a/java/com/android/dialer/app/list/DialerViewPager.java b/java/com/android/dialer/app/list/DialerViewPager.java deleted file mode 100644 index ae99f0521..000000000 --- a/java/com/android/dialer/app/list/DialerViewPager.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * 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. - */ - -package com.android.dialer.app.list; - -import android.content.Context; -import android.support.v4.view.ViewPager; -import android.util.AttributeSet; -import android.view.MotionEvent; - -/** Class that handles enabling/disabling swiping between @{ViewPagerTabs}. */ -public class DialerViewPager extends ViewPager { - - private boolean enableSwipingPages; - - public DialerViewPager(Context context, AttributeSet attributeSet) { - super(context, attributeSet); - enableSwipingPages = true; - } - - @Override - public boolean onInterceptTouchEvent(MotionEvent event) { - if (enableSwipingPages) { - return super.onInterceptTouchEvent(event); - } - - return false; - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - if (enableSwipingPages) { - return super.onTouchEvent(event); - } - - return false; - } - - public void setEnableSwipingPages(boolean enabled) { - enableSwipingPages = enabled; - } -} diff --git a/java/com/android/dialer/app/list/ListsFragment.java b/java/com/android/dialer/app/list/ListsFragment.java index 32501d556..8dd52a9d4 100644 --- a/java/com/android/dialer/app/list/ListsFragment.java +++ b/java/com/android/dialer/app/list/ListsFragment.java @@ -31,23 +31,19 @@ import android.os.Handler; import android.os.Trace; import android.preference.PreferenceManager; import android.provider.VoicemailContract; +import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; import com.android.contacts.common.list.ViewPagerTabs; import com.android.dialer.app.R; import com.android.dialer.app.calllog.CallLogFragment; import com.android.dialer.app.calllog.CallLogNotificationsService; -import com.android.dialer.app.calllog.VisualVoicemailCallLogFragment; import com.android.dialer.app.voicemail.error.VoicemailStatusCorruptionHandler; import com.android.dialer.app.voicemail.error.VoicemailStatusCorruptionHandler.Source; import com.android.dialer.common.LogUtil; import com.android.dialer.database.CallLogQueryHandler; -import com.android.dialer.database.CallLogQueryHandler.Listener; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; import com.android.dialer.logging.ScreenEvent; @@ -65,28 +61,24 @@ import java.util.ArrayList; * containing the lists up above the search bar and pin it against the top of the screen. */ public class ListsFragment extends Fragment - implements OnPageChangeListener, Listener, OnClickListener { + implements ViewPager.OnPageChangeListener, CallLogQueryHandler.Listener { private static final String TAG = "ListsFragment"; - private DialerViewPager mViewPager; + private ViewPager mViewPager; private ViewPagerTabs mViewPagerTabs; private DialtactsPagerAdapter mAdapter; private RemoveView mRemoveView; private View mRemoveViewContent; - private View mMultiSelectSelectAllViewContent; - private TextView mSelectUnselectAllViewText; - private ImageView mSelectUnselectAllIcon; private Fragment mCurrentPage; private SharedPreferences mPrefs; private boolean mHasFetchedVoicemailStatus; - private boolean selectAllMode; private boolean mShowVoicemailTabAfterVoicemailStatusIsFetched; private VoicemailStatusHelper mVoicemailStatusHelper; private final ArrayList<OnPageChangeListener> mOnPageChangeListeners = new ArrayList<>(); /** The position of the currently selected tab. */ private int mTabIndex = TAB_INDEX_SPEED_DIAL; - private boolean mPaused; + private CallLogQueryHandler mCallLogQueryHandler; private final ContentObserver mVoicemailStatusObserver = @@ -171,7 +163,7 @@ public class ListsFragment extends Fragment tabIcons[TAB_INDEX_ALL_CONTACTS] = R.drawable.quantum_ic_people_white_24; tabIcons[TAB_INDEX_VOICEMAIL] = R.drawable.quantum_ic_voicemail_white_24; - mViewPager = (DialerViewPager) parentView.findViewById(R.id.lists_pager); + mViewPager = (ViewPager) parentView.findViewById(R.id.lists_pager); mAdapter = new DialtactsPagerAdapter( getContext(), @@ -188,15 +180,9 @@ public class ListsFragment extends Fragment mViewPagerTabs.configureTabIcons(tabIcons); mViewPagerTabs.setViewPager(mViewPager); addOnPageChangeListener(mViewPagerTabs); + mRemoveView = (RemoveView) parentView.findViewById(R.id.remove_view); mRemoveViewContent = parentView.findViewById(R.id.remove_view_content); - mMultiSelectSelectAllViewContent = - parentView.findViewById(R.id.multi_select_select_all_view_content); - mSelectUnselectAllViewText = (TextView) parentView.findViewById(R.id.select_all_view_text); - mSelectUnselectAllIcon = (ImageView) parentView.findViewById(R.id.select_all_view_icon); - mMultiSelectSelectAllViewContent.setOnClickListener(null); - mSelectUnselectAllIcon.setOnClickListener(this); - mSelectUnselectAllViewText.setOnClickListener(this); if (PermissionsUtil.hasReadVoicemailPermissions(getContext()) && PermissionsUtil.hasAddVoicemailPermissions(getContext())) { @@ -205,7 +191,7 @@ public class ListsFragment extends Fragment .registerContentObserver( VoicemailContract.Status.CONTENT_URI, true, mVoicemailStatusObserver); } else { - LogUtil.w("ListsFragment.onCreateView", "no voicemail read permissions"); + LogUtil.w("ListsFragment.onCreateView", "no voicemail read/add permissions"); } Trace.endSection(); @@ -399,13 +385,6 @@ public class ListsFragment extends Fragment mRemoveView.animate().alpha(show ? 1 : 0).start(); } - public void showMultiSelectRemoveView(boolean show) { - mMultiSelectSelectAllViewContent.setVisibility(show ? View.VISIBLE : View.GONE); - mMultiSelectSelectAllViewContent.setAlpha(show ? 0 : 1); - mMultiSelectSelectAllViewContent.animate().alpha(show ? 1 : 0).start(); - mViewPager.setEnableSwipingPages(!show); - } - public boolean hasFrequents() { Fragment page = mAdapter.getItem(mAdapter.getRtlPosition(TAB_INDEX_SPEED_DIAL)); return page instanceof OldSpeedDialFragment @@ -445,28 +424,4 @@ public class ListsFragment extends Fragment } Logger.get(getActivity()).logScreenView(screenType, getActivity()); } - - @Override - public void onClick(View v) { - updateSelectAllIcon(); - selectAllMode = !selectAllMode; - } - - public void setSelectAllModeToFalse() { - selectAllMode = false; - mSelectUnselectAllIcon.setImageDrawable( - getContext().getDrawable(R.drawable.ic_empty_check_mark_white_24dp)); - } - - private void updateSelectAllIcon() { - if (selectAllMode) { - mSelectUnselectAllIcon.setImageDrawable( - getContext().getDrawable(R.drawable.ic_empty_check_mark_white_24dp)); - ((VisualVoicemailCallLogFragment) mCurrentPage).getAdapter().onAllDeselected(); - } else { - mSelectUnselectAllIcon.setImageDrawable( - getContext().getDrawable(R.drawable.ic_check_mark_blue_24dp)); - ((VisualVoicemailCallLogFragment) mCurrentPage).getAdapter().onAllSelected(); - } - } } diff --git a/java/com/android/dialer/app/list/OldSpeedDialFragment.java b/java/com/android/dialer/app/list/OldSpeedDialFragment.java index 1ddc0f4e1..40fe74565 100644 --- a/java/com/android/dialer/app/list/OldSpeedDialFragment.java +++ b/java/com/android/dialer/app/list/OldSpeedDialFragment.java @@ -50,11 +50,12 @@ 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.app.widget.EmptyContentView; +import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.common.LogUtil; import com.android.dialer.util.PermissionsUtil; import com.android.dialer.util.ViewUtil; -import com.android.dialer.widget.EmptyContentView; import java.util.ArrayList; /** This fragment displays the user's favorite/frequent contacts in a grid. */ @@ -429,7 +430,7 @@ public class OldSpeedDialFragment extends Fragment void showAllContactsTab(); } - class ContactTileLoaderListener implements LoaderManager.LoaderCallbacks<Cursor> { + private class ContactTileLoaderListener implements LoaderManager.LoaderCallbacks<Cursor> { @Override public CursorLoader onCreateLoader(int id, Bundle args) { @@ -459,17 +460,24 @@ public class OldSpeedDialFragment extends Fragment private class ContactTileAdapterListener implements ContactTileView.Listener { @Override - public void onContactSelected( - Uri contactUri, Rect targetRect, CallSpecificAppData callSpecificAppData) { + public void onContactSelected(Uri contactUri, Rect targetRect) { if (mPhoneNumberPickerActionListener != null) { + CallSpecificAppData callSpecificAppData = + CallSpecificAppData.newBuilder() + .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL) + .build(); mPhoneNumberPickerActionListener.onPickDataUri( contactUri, false /* isVideoCall */, callSpecificAppData); } } @Override - public void onCallNumberDirectly(String phoneNumber, CallSpecificAppData callSpecificAppData) { + public void onCallNumberDirectly(String phoneNumber) { if (mPhoneNumberPickerActionListener != null) { + CallSpecificAppData callSpecificAppData = + CallSpecificAppData.newBuilder() + .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL) + .build(); mPhoneNumberPickerActionListener.onPickPhoneNumber( phoneNumber, false /* isVideoCall */, callSpecificAppData); } diff --git a/java/com/android/dialer/app/list/PhoneFavoriteListView.java b/java/com/android/dialer/app/list/PhoneFavoriteListView.java index f4f395ff0..9516f0611 100644 --- a/java/com/android/dialer/app/list/PhoneFavoriteListView.java +++ b/java/com/android/dialer/app/list/PhoneFavoriteListView.java @@ -1,5 +1,6 @@ /* - * Copyright (C) 2017 The Android Open Source Project + * Copyright (C) 2012 Google Inc. + * Licensed to 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. @@ -23,6 +24,7 @@ import android.content.res.Configuration; import android.graphics.Bitmap; import android.os.Handler; import android.util.AttributeSet; +import android.util.Log; import android.view.DragEvent; import android.view.MotionEvent; import android.view.View; @@ -31,7 +33,6 @@ import android.widget.GridView; import android.widget.ImageView; import com.android.dialer.app.R; import com.android.dialer.app.list.DragDropController.DragItemContainer; -import com.android.dialer.common.LogUtil; /** Viewgroup that presents the user's speed dial contacts in a grid. */ public class PhoneFavoriteListView extends GridView @@ -39,14 +40,14 @@ public class PhoneFavoriteListView extends GridView public static final String LOG_TAG = PhoneFavoriteListView.class.getSimpleName(); final int[] mLocationOnScreen = new int[2]; - private static final long SCROLL_HANDLER_DELAY_MILLIS = 5; - private static final int DRAG_SCROLL_PX_UNIT = 25; - private static final float DRAG_SHADOW_ALPHA = 0.7f; + private final long SCROLL_HANDLER_DELAY_MILLIS = 5; + private final int DRAG_SCROLL_PX_UNIT = 25; + private final float DRAG_SHADOW_ALPHA = 0.7f; /** * {@link #mTopScrollBound} and {@link mBottomScrollBound} will be offseted to the top / bottom by * {@link #getHeight} * {@link #BOUND_GAP_RATIO} pixels. */ - private static final float BOUND_GAP_RATIO = 0.2f; + private final float BOUND_GAP_RATIO = 0.2f; private float mTouchSlop; private int mTopScrollBound; @@ -66,6 +67,7 @@ public class PhoneFavoriteListView extends GridView } }; private boolean mIsDragScrollerRunning = false; + private int mTouchDownForDragStartX; private int mTouchDownForDragStartY; private Bitmap mDragShadowBitmap; private ImageView mDragShadowOverlay; @@ -96,7 +98,7 @@ public class PhoneFavoriteListView extends GridView } public PhoneFavoriteListView(Context context, AttributeSet attrs) { - this(context, attrs, 0); + this(context, attrs, -1); } public PhoneFavoriteListView(Context context, AttributeSet attrs, int defStyle) { @@ -119,6 +121,7 @@ public class PhoneFavoriteListView extends GridView @Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { + mTouchDownForDragStartX = (int) ev.getX(); mTouchDownForDragStartY = (int) ev.getY(); } @@ -284,7 +287,7 @@ public class PhoneFavoriteListView extends GridView try { bitmap = cache.copy(Bitmap.Config.ARGB_8888, false); } catch (final OutOfMemoryError e) { - LogUtil.w(LOG_TAG, "Failed to copy bitmap from Drawing cache", e); + Log.w(LOG_TAG, "Failed to copy bitmap from Drawing cache", e); bitmap = null; } } diff --git a/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java index 40f23ea6f..5a18d039b 100644 --- a/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java +++ b/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java @@ -26,8 +26,6 @@ import android.widget.TextView; import com.android.contacts.common.list.ContactEntry; import com.android.dialer.app.R; import com.android.dialer.compat.CompatUtils; -import com.android.dialer.logging.InteractionEvent; -import com.android.dialer.logging.Logger; /** Displays the contact's picture overlaid with their name and number type in a tile. */ public class PhoneFavoriteSquareTileView extends PhoneFavoriteTileView { @@ -89,8 +87,6 @@ public class PhoneFavoriteSquareTileView extends PhoneFavoriteTileView { new OnClickListener() { @Override public void onClick(View v) { - Logger.get(getContext()) - .logInteraction(InteractionEvent.Type.SPEED_DIAL_OPEN_CONTACT_CARD); launchQuickContact(); } }); diff --git a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java index 835b448bd..db89cf3dc 100644 --- a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java +++ b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java @@ -18,22 +18,16 @@ package com.android.dialer.app.list; import android.content.ClipData; import android.content.Context; -import android.provider.ContactsContract.PinnedPositions; import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; +import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.MoreContactUtils; -import com.android.contacts.common.lettertiles.LetterTileDrawable; import com.android.contacts.common.list.ContactEntry; import com.android.contacts.common.list.ContactTileView; 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.logging.InteractionEvent; -import com.android.dialer.logging.Logger; /** * A light version of the {@link com.android.contacts.common.list.ContactTileView} that is used in @@ -48,6 +42,7 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { // tile is long pressed. static final String DRAG_PHONE_FAVORITE_TILE = "PHONE_FAVORITE_TILE"; private static final String TAG = PhoneFavoriteTileView.class.getSimpleName(); + private static final boolean DEBUG = false; // These parameters instruct the photo manager to display the default image/letter at 70% of // its normal size, and vertically offset upwards 12% towards the top of the letter tile, to // make room for the contact name and number label at the bottom of the image. @@ -60,8 +55,6 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { private View mShadowOverlay; /** Users' most frequent phone number. */ private String mPhoneNumberString; - private boolean isPinned; - private boolean isStarred; public PhoneFavoriteTileView(Context context, AttributeSet attrs) { super(context, attrs); @@ -90,8 +83,6 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { super.loadFromContact(entry); // Set phone number to null in case we're reusing the view. mPhoneNumberString = null; - isPinned = (entry.pinned != PinnedPositions.UNPINNED); - isStarred = entry.isFavorite; if (entry != null) { // Grab the phone-number to call directly. See {@link onClick()}. mPhoneNumberString = entry.phoneNumber; @@ -122,35 +113,16 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { if (mListener == null) { return; } - - CallSpecificAppData.Builder callSpecificAppData = - CallSpecificAppData.newBuilder() - .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL) - .setSpeedDialContactPosition( - ((PhoneFavoriteListView) v.getParent()).getPositionForView(v)); - if (isStarred) { - callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.STARRED_CONTACT); - } else { - callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.FREQUENT_CONTACT); - } - if (isPinned) { - callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.PINNED_CONTACT); - } - if (TextUtils.isEmpty(mPhoneNumberString)) { // Copy "superclass" implementation - Logger.get(getContext()) - .logInteraction(InteractionEvent.Type.SPEED_DIAL_CLICK_CONTACT_WITH_AMBIGUOUS_NUMBER); mListener.onContactSelected( - getLookupUri(), - MoreContactUtils.getTargetRectFromView(PhoneFavoriteTileView.this), - callSpecificAppData.build()); + getLookupUri(), MoreContactUtils.getTargetRectFromView(PhoneFavoriteTileView.this)); } else { // When you tap a frequently-called contact, you want to // call them at the number that you usually talk to them // at (i.e. the one displayed in the UI), regardless of // whether that's their default number. - mListener.onCallNumberDirectly(mPhoneNumberString, callSpecificAppData.build()); + mListener.onCallNumberDirectly(mPhoneNumberString); } } }; @@ -161,7 +133,7 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { return new DefaultImageRequest( displayName, lookupKey, - LetterTileDrawable.TYPE_DEFAULT, + ContactPhotoManager.TYPE_DEFAULT, DEFAULT_IMAGE_LETTER_SCALE, DEFAULT_IMAGE_LETTER_OFFSET, false); diff --git a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java index ce8598261..c692ecac7 100644 --- a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java +++ b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java @@ -30,6 +30,7 @@ import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.PinnedPositions; import android.support.annotation.VisibleForTesting; import android.text.TextUtils; +import android.util.Log; import android.util.LongSparseArray; import android.view.View; import android.view.ViewGroup; @@ -40,11 +41,6 @@ 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.lightbringer.Lightbringer; -import com.android.dialer.lightbringer.LightbringerComponent; -import com.android.dialer.logging.InteractionEvent; -import com.android.dialer.logging.Logger; import com.android.dialer.shortcuts.ShortcutRefresher; import com.google.common.collect.ComparisonChain; import java.util.ArrayList; @@ -194,14 +190,6 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop // Track the length of {@link #mContactEntries} and compare to {@link #TILES_SOFT_LIMIT}. int counter = 0; - // Data for logging - int starredContactsCount = 0; - int pinnedContactsCount = 0; - int multipleNumbersContactsCount = 0; - int contactsWithPhotoCount = 0; - int contactsWithNameCount = 0; - int duoReachableContactsCount = 0; - // The cursor should not be closed since this is invoked from a CursorLoader. if (cursor.moveToFirst()) { int starredColumn = cursor.getColumnIndexOrThrow(Contacts.STARRED); @@ -274,22 +262,6 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop contact.pinned = pinned; mContactEntries.add(contact); - // Set counts for logging - if (isStarred) { - // mNumStarred might be larger than the number of visible starred contact, - // since it includes invisible ones (starred contact with no phone number). - starredContactsCount++; - } - if (pinned != PinnedPositions.UNPINNED) { - pinnedContactsCount++; - } - if (!TextUtils.isEmpty(name)) { - contactsWithNameCount++; - } - if (photoUri != null) { - contactsWithPhotoCount++; - } - duplicates.put(id, contact); counter++; @@ -302,47 +274,6 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop ShortcutRefresher.refresh(mContext, mContactEntries); notifyDataSetChanged(); - - Lightbringer lightbringer = LightbringerComponent.get(mContext).getLightbringer(); - for (ContactEntry contact : mContactEntries) { - if (contact.phoneNumber == null) { - multipleNumbersContactsCount++; - } else if (lightbringer.isReachable(mContext, contact.phoneNumber)) { - duoReachableContactsCount++; - } - } - - Logger.get(mContext) - .logSpeedDialContactComposition( - counter, - starredContactsCount, - pinnedContactsCount, - multipleNumbersContactsCount, - contactsWithPhotoCount, - contactsWithNameCount, - duoReachableContactsCount); - // Logs for manual testing - LogUtil.v("PhoneFavoritesTileAdapter.saveCursorToCache", "counter: %d", counter); - LogUtil.v( - "PhoneFavoritesTileAdapter.saveCursorToCache", - "starredContactsCount: %d", - starredContactsCount); - LogUtil.v( - "PhoneFavoritesTileAdapter.saveCursorToCache", - "pinnedContactsCount: %d", - pinnedContactsCount); - LogUtil.v( - "PhoneFavoritesTileAdapter.saveCursorToCache", - "multipleNumbersContactsCount: %d", - multipleNumbersContactsCount); - LogUtil.v( - "PhoneFavoritesTileAdapter.saveCursorToCache", - "contactsWithPhotoCount: %d", - contactsWithPhotoCount); - LogUtil.v( - "PhoneFavoritesTileAdapter.saveCursorToCache", - "contactsWithNameCount: %d", - contactsWithNameCount); } /** Iterates over the {@link Cursor} Returns position of the first NON Starred Contact */ @@ -416,7 +347,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop @Override public void notifyDataSetChanged() { if (DEBUG) { - LogUtil.v(TAG, "notifyDataSetChanged"); + Log.v(TAG, "notifyDataSetChanged"); } super.notifyDataSetChanged(); } @@ -424,7 +355,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop @Override public View getView(int position, View convertView, ViewGroup parent) { if (DEBUG) { - LogUtil.v(TAG, "get view for " + position); + Log.v(TAG, "get view for " + String.valueOf(position)); } PhoneFavoriteTileView tileView = null; @@ -524,9 +455,8 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop // update the database here with the new pinned positions try { mContext.getContentResolver().applyBatch(ContactsContract.AUTHORITY, operations); - Logger.get(mContext).logInteraction(InteractionEvent.Type.SPEED_DIAL_PIN_CONTACT); } catch (RemoteException | OperationApplicationException e) { - LogUtil.e(TAG, "Exception thrown when pinning contacts", e); + Log.e(TAG, "Exception thrown when pinning contacts", e); } } } @@ -679,7 +609,6 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop if (mDraggedEntry != null) { unstarAndUnpinContact(mDraggedEntry.lookupUri); mAwaitingRemove = true; - Logger.get(mContext).logInteraction(InteractionEvent.Type.SPEED_DIAL_REMOVE_CONTACT); } } diff --git a/java/com/android/dialer/app/list/RegularSearchFragment.java b/java/com/android/dialer/app/list/RegularSearchFragment.java index 4f032032f..02896793b 100644 --- a/java/com/android/dialer/app/list/RegularSearchFragment.java +++ b/java/com/android/dialer/app/list/RegularSearchFragment.java @@ -25,12 +25,12 @@ import android.view.ViewGroup; import com.android.contacts.common.list.ContactEntryListAdapter; import com.android.contacts.common.list.PinnedHeaderListView; import com.android.dialer.app.R; +import com.android.dialer.app.widget.EmptyContentView; +import com.android.dialer.app.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.phonenumbercache.CachedNumberLookupService; import com.android.dialer.phonenumbercache.PhoneNumberCache; import com.android.dialer.util.PermissionsUtil; -import com.android.dialer.widget.EmptyContentView; -import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; public class RegularSearchFragment extends SearchFragment implements OnEmptyViewActionButtonClickedListener, diff --git a/java/com/android/dialer/app/list/RemoveView.java b/java/com/android/dialer/app/list/RemoveView.java index 1d566c5a0..3b917db43 100644 --- a/java/com/android/dialer/app/list/RemoveView.java +++ b/java/com/android/dialer/app/list/RemoveView.java @@ -41,7 +41,7 @@ public class RemoveView extends FrameLayout { } public RemoveView(Context context, AttributeSet attrs) { - this(context, attrs, 0); + this(context, attrs, -1); } public RemoveView(Context context, AttributeSet attrs, int defStyle) { diff --git a/java/com/android/dialer/app/list/SearchFragment.java b/java/com/android/dialer/app/list/SearchFragment.java index 7f2d17650..fcf8236e3 100644 --- a/java/com/android/dialer/app/list/SearchFragment.java +++ b/java/com/android/dialer/app/list/SearchFragment.java @@ -34,18 +34,19 @@ import android.widget.LinearLayout; import android.widget.ListView; import android.widget.Space; import com.android.contacts.common.list.ContactEntryListAdapter; +import com.android.contacts.common.list.ContactListItemView; import com.android.contacts.common.list.OnPhoneNumberPickerActionListener; import com.android.contacts.common.list.PhoneNumberPickerFragment; import com.android.dialer.animation.AnimUtils; import com.android.dialer.app.R; import com.android.dialer.app.dialpad.DialpadFragment.ErrorDialogFragment; import com.android.dialer.app.widget.DialpadSearchEmptyContentView; +import com.android.dialer.app.widget.EmptyContentView; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.common.LogUtil; import com.android.dialer.util.DialerUtils; import com.android.dialer.util.IntentUtil; import com.android.dialer.util.PermissionsUtil; -import com.android.dialer.widget.EmptyContentView; public class SearchFragment extends PhoneNumberPickerFragment { @@ -79,6 +80,7 @@ public class SearchFragment extends PhoneNumberPickerFragment { setQuickContactEnabled(true); setAdjustSelectionBoundsEnabled(false); setDarkTheme(false); + setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(false /* opposite */)); setUseCallableUri(true); try { diff --git a/java/com/android/dialer/app/list/SmartDialSearchFragment.java b/java/com/android/dialer/app/list/SmartDialSearchFragment.java index fc21c8bc3..eb1508c72 100644 --- a/java/com/android/dialer/app/list/SmartDialSearchFragment.java +++ b/java/com/android/dialer/app/list/SmartDialSearchFragment.java @@ -29,11 +29,11 @@ import android.support.v13.app.FragmentCompat; import com.android.contacts.common.list.ContactEntryListAdapter; import com.android.dialer.app.R; import com.android.dialer.app.dialpad.SmartDialCursorLoader; +import com.android.dialer.app.widget.EmptyContentView; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.common.LogUtil; import com.android.dialer.database.DialerDatabaseHelper; import com.android.dialer.util.PermissionsUtil; -import com.android.dialer.widget.EmptyContentView; /** Implements a fragment to load and display SmartDial search results. */ public class SmartDialSearchFragment extends SearchFragment |