diff options
Diffstat (limited to 'java/com/android/dialer/calldetails')
3 files changed, 42 insertions, 43 deletions
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/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 @@ --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="@dimen/call_entry_padding"> - <ImageView + <com.android.dialer.calllogutils.CallTypeIconsView android:id="@+id/call_direction" - android:layout_width="@dimen/call_entry_icon_size" - android:layout_height="@dimen/call_entry_icon_size" + android:layout_width="wrap_content" + android:layout_height="wrap_content" android:layout_marginStart="@dimen/call_entry_padding" - android:layout_marginEnd="@dimen/call_entry_left_margin"/> + app:useLargeIcons="true"/> <TextView android:id="@+id/call_type" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_toEndOf="@+id/call_direction" + android:layout_marginStart="@dimen/call_entry_text_left_margin" style="@style/PrimaryText"/> <TextView android:id="@+id/call_time" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_toEndOf="@id/call_direction" + android:layout_marginStart="@dimen/call_entry_text_left_margin" android:layout_below="@+id/call_type" android:layout_marginBottom="@dimen/call_entry_bottom_padding" style="@style/SecondaryText"/> @@ -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"/> + <TextView + android:id="@+id/post_call_note" + android:layout_width="match_parent" + android:layout_height="@dimen/ec_container_height" + android:gravity="center_vertical" + android:layout_marginStart="@dimen/ec_post_call_left_margin" + android:maxLines="2" + android:visibility="gone" + android:layout_below="@+id/ec_container" + style="@style/SecondaryText"/> + <View android:id="@+id/divider" android:layout_width="match_parent" android:layout_height="1dp" - android:layout_below="@id/ec_container" + android:layout_below="@id/post_call_note" android:layout_marginTop="@dimen/ec_divider_top_bottom_margin" android:layout_marginBottom="@dimen/ec_divider_top_bottom_margin" - android:layout_marginStart="@dimen/ec_text_left_margin" + android:layout_marginStart="@dimen/call_entry_text_left_margin" android:background="#12000000" android:visibility="gone"/> </RelativeLayout>
\ 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 @@ <dimen name="call_entry_icon_size">24dp</dimen> <dimen name="call_entry_padding">16dp</dimen> <dimen name="call_entry_bottom_padding">14dp</dimen> - <dimen name="call_entry_left_margin">32dp</dimen> + <dimen name="call_entry_text_left_margin">72dp</dimen> <!-- EC container --> <dimen name="call_details_ec_text_size">12sp</dimen> <dimen name="ec_container_height">48dp</dimen> - <dimen name="ec_text_left_margin">72dp</dimen> + <dimen name="ec_post_call_left_margin">73dp</dimen> <dimen name="ec_photo_size">40dp</dimen> <dimen name="ec_divider_top_bottom_margin">8dp</dimen> </resources>
\ No newline at end of file |