From fc37b02f5d3381a7882770941e461b13b679b6ef Mon Sep 17 00:00:00 2001 From: Eric Erfanian Date: Tue, 21 Mar 2017 10:11:17 -0700 Subject: Update AOSP Dialer source from internal google3 repository at cl/150756069 Test: make, treehugger This CL updates the AOSP Dialer source with all the changes that have gone into the private google3 repository. This includes all the changes from cl/150392808 (3/16/2017) to cl/150756069 (3/21/2017). This goal of these drops is to keep the AOSP source in sync with the internal google3 repository. Currently these sync are done by hand with very minor modifications to the internal source code. See the Android.mk file for list of modifications. Our current goal is to do frequent drops (daily if possible) and eventually switched to an automated process. Change-Id: I0888b5db52efb28eb8194600e0c7804592f975f3 --- .../calldetails/CallDetailsEntryViewHolder.java | 51 ++++++++-------------- .../calldetails/CallDetailsHeaderViewHolder.java | 46 ++++--------------- .../calldetails/res/layout/call_details_entry.xml | 30 +++++++++---- .../dialer/calldetails/res/values/dimens.xml | 4 +- 4 files changed, 50 insertions(+), 81 deletions(-) (limited to 'java/com/android/dialer/calldetails') diff --git a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java index b1a70af0c..55447f8ff 100644 --- a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java +++ b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java @@ -17,9 +17,6 @@ package com.android.dialer.calldetails; import android.content.Context; -import android.content.res.Resources; -import android.graphics.PorterDuff; -import android.graphics.drawable.Drawable; import android.net.Uri; import android.provider.CallLog.Calls; import android.support.annotation.ColorInt; @@ -33,10 +30,12 @@ import android.widget.TextView; import com.android.dialer.calldetails.nano.CallDetailsEntries.CallDetailsEntry; import com.android.dialer.calllogutils.CallEntryFormatter; import com.android.dialer.calllogutils.CallTypeHelper; +import com.android.dialer.calllogutils.CallTypeIconsView; import com.android.dialer.common.LogUtil; import com.android.dialer.compat.AppCompatConstants; import com.android.dialer.enrichedcall.historyquery.proto.nano.HistoryResult; import com.android.dialer.enrichedcall.historyquery.proto.nano.HistoryResult.Type; +import com.android.dialer.oem.MotorolaUtils; import com.android.dialer.util.CallUtil; import com.android.dialer.util.DialerUtils; import com.android.dialer.util.IntentUtil; @@ -44,7 +43,7 @@ import com.android.dialer.util.IntentUtil; /** ViewHolder for call entries in {@link CallDetailsActivity}. */ public class CallDetailsEntryViewHolder extends ViewHolder { - private final ImageView callTypeIcon; + private final CallTypeIconsView callTypeIcon; private final TextView callTypeText; private final TextView callTime; private final TextView callDuration; @@ -54,6 +53,7 @@ public class CallDetailsEntryViewHolder extends ViewHolder { private final View multimediaDivider; private final TextView multimediaDetails; + private final TextView postCallNote; private final ImageView multimediaImage; @@ -67,7 +67,7 @@ public class CallDetailsEntryViewHolder extends ViewHolder { super(container); context = container.getContext(); - callTypeIcon = (ImageView) container.findViewById(R.id.call_direction); + callTypeIcon = (CallTypeIconsView) container.findViewById(R.id.call_direction); callTypeText = (TextView) container.findViewById(R.id.call_type); callTime = (TextView) container.findViewById(R.id.call_time); callDuration = (TextView) container.findViewById(R.id.call_duration); @@ -76,6 +76,7 @@ public class CallDetailsEntryViewHolder extends ViewHolder { multimediaDetailsContainer = container.findViewById(R.id.ec_container); multimediaDivider = container.findViewById(R.id.divider); multimediaDetails = (TextView) container.findViewById(R.id.multimedia_details); + postCallNote = (TextView) container.findViewById(R.id.post_call_note); multimediaImage = (ImageView) container.findViewById(R.id.multimedia_image); multimediaAttachmentsNumber = (TextView) container.findViewById(R.id.multimedia_attachments_number); @@ -93,11 +94,10 @@ public class CallDetailsEntryViewHolder extends ViewHolder { boolean isPulledCall = (entry.features & Calls.FEATURES_PULLED_EXTERNALLY) == Calls.FEATURES_PULLED_EXTERNALLY; - Drawable callIcon = getIconForCallType(context.getResources(), callType); - int color = getColorForCallType(context, callType); - callIcon.setColorFilter(color, PorterDuff.Mode.MULTIPLY); - callTime.setTextColor(color); - callTypeIcon.setImageDrawable(callIcon); + callTime.setTextColor(getColorForCallType(context, callType)); + callTypeIcon.add(callType); + callTypeIcon.setShowVideo((entry.features & Calls.FEATURES_VIDEO) == Calls.FEATURES_VIDEO); + callTypeIcon.setShowHd(MotorolaUtils.shouldShowHdIconInCallLog(context, entry.features)); callTypeText.setText(callTypeHelper.getCallTypeText(callType, isVideoCall, isPulledCall)); callTime.setText(CallEntryFormatter.formatDate(context, entry.date)); @@ -118,8 +118,6 @@ public class CallDetailsEntryViewHolder extends ViewHolder { multimediaDetailsContainer.setVisibility(View.GONE); } else { - // TODO: b/36158891 Add room for 2 pieces of enriched call data. It's possible - // to have both call composer data and post call data for a single call. HistoryResult historyResult = entry.historyResults[0]; multimediaDetailsContainer.setVisibility(View.VISIBLE); multimediaDetailsContainer.setOnClickListener( @@ -146,6 +144,15 @@ public class CallDetailsEntryViewHolder extends ViewHolder { } else { LogUtil.i("CallDetailsEntryViewHolder.setMultimediaDetails", "no text"); } + + if (entry.historyResults.length > 1 && !TextUtils.isEmpty(entry.historyResults[1].text)) { + LogUtil.i("CallDetailsEntryViewHolder.setMultimediaDetails", "showing post call note"); + postCallNote.setVisibility(View.VISIBLE); + postCallNote.setText( + context.getString(R.string.message_in_quotes, entry.historyResults[1].text)); + } else { + LogUtil.i("CallDetailsEntryViewHolder.setMultimediaDetails", "no post call note"); + } } } @@ -154,26 +161,6 @@ public class CallDetailsEntryViewHolder extends ViewHolder { || historyResult.type == Type.INCOMING_CALL_COMPOSER; } - private static Drawable getIconForCallType(Resources resources, int callType) { - switch (callType) { - case AppCompatConstants.CALLS_OUTGOING_TYPE: - return resources.getDrawable(R.drawable.quantum_ic_call_made_white_24); - case AppCompatConstants.CALLS_BLOCKED_TYPE: - return resources.getDrawable(R.drawable.quantum_ic_block_white_24); - case AppCompatConstants.CALLS_INCOMING_TYPE: - case AppCompatConstants.CALLS_ANSWERED_EXTERNALLY_TYPE: - case AppCompatConstants.CALLS_REJECTED_TYPE: - return resources.getDrawable(R.drawable.quantum_ic_call_received_white_24); - case AppCompatConstants.CALLS_MISSED_TYPE: - default: - // It is possible for users to end up with calls with unknown call types in their - // call history, possibly due to 3rd party call log implementations (e.g. to - // distinguish between rejected and missed calls). Instead of crashing, just - // assume that all unknown call types are missed calls. - return resources.getDrawable(R.drawable.quantum_ic_call_missed_white_24); - } - } - private static @ColorInt int getColorForCallType(Context context, int callType) { switch (callType) { case AppCompatConstants.CALLS_OUTGOING_TYPE: diff --git a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java index 1679c2baf..416c521a2 100644 --- a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java +++ b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java @@ -25,7 +25,6 @@ import android.view.View.OnClickListener; import android.widget.QuickContactBadge; import android.widget.TextView; import com.android.contacts.common.ContactPhotoManager; -import com.android.contacts.common.util.UriUtils; import com.android.dialer.callcomposer.nano.CallComposerContact; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.callintent.nano.CallInitiationType; @@ -56,18 +55,16 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder callBackButton.setOnClickListener(this); } - /** - * Populates the contact info fields based on the current contact information. Copied from {@link - * com.android.contacts.common.dialog.CallSubjectDialog}. - */ + /** Populates the contact info fields based on the current contact information. */ public void updateContactInfo(CallComposerContact contact) { this.contact = contact; - setPhoto( - contact.photoId, - Uri.parse(contact.photoUri), - Uri.parse(contact.contactUri), - contact.nameOrNumber, - contact.isBusiness); + ContactPhotoManager.getInstance(context) + .loadDialerThumbnail( + contactPhoto, + contact.contactUri == null ? null : Uri.parse(contact.contactUri), + contact.photoId, + contact.nameOrNumber, + contact.contactType); nameView.setText(contact.nameOrNumber); if (!TextUtils.isEmpty(contact.numberLabel) && !TextUtils.isEmpty(contact.displayNumber)) { @@ -84,33 +81,6 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder } } - /** - * Sets the photo on the quick contact galleryIcon. Copied from {@link - * com.android.contacts.common.dialog.CallSubjectDialog}. - */ - private void setPhoto( - long photoId, Uri photoUri, Uri contactUri, String displayName, boolean isBusiness) { - contactPhoto.assignContactUri(contactUri); - contactPhoto.setOverlay(null); - - int contactType = - isBusiness ? ContactPhotoManager.TYPE_BUSINESS : ContactPhotoManager.TYPE_DEFAULT; - String lookupKey = contactUri == null ? null : UriUtils.getLookupKeyFromUri(contactUri); - - ContactPhotoManager.DefaultImageRequest request = - new ContactPhotoManager.DefaultImageRequest( - displayName, lookupKey, contactType, true /* isCircular */); - - if (photoId == 0 && photoUri != null) { - contactPhoto.setImageDrawable( - context.getDrawable(R.drawable.product_logo_avatar_anonymous_color_120)); - } else { - ContactPhotoManager.getInstance(context) - .loadThumbnail( - contactPhoto, photoId, false /* darkTheme */, true /* isCircular */, request); - } - } - @Override public void onClick(View view) { if (view == callBackButton) { diff --git a/java/com/android/dialer/calldetails/res/layout/call_details_entry.xml b/java/com/android/dialer/calldetails/res/layout/call_details_entry.xml index 7f8bb8087..3f2ba7534 100644 --- a/java/com/android/dialer/calldetails/res/layout/call_details_entry.xml +++ b/java/com/android/dialer/calldetails/res/layout/call_details_entry.xml @@ -16,29 +16,30 @@ --> - + app:useLargeIcons="true"/> @@ -56,18 +57,29 @@ android:id="@+id/ec_container" android:layout_height="@dimen/ec_container_height" android:layout_width="match_parent" - android:layout_marginStart="@dimen/ec_text_left_margin" + android:layout_marginStart="@dimen/call_entry_text_left_margin" android:layout_below="@+id/call_time" android:visibility="gone"/> + + \ No newline at end of file diff --git a/java/com/android/dialer/calldetails/res/values/dimens.xml b/java/com/android/dialer/calldetails/res/values/dimens.xml index 59f237103..2ca7ea83a 100644 --- a/java/com/android/dialer/calldetails/res/values/dimens.xml +++ b/java/com/android/dialer/calldetails/res/values/dimens.xml @@ -29,12 +29,12 @@ 24dp 16dp 14dp - 32dp + 72dp 12sp 48dp - 72dp + 73dp 40dp 8dp \ No newline at end of file -- cgit v1.2.3