diff options
Diffstat (limited to 'java/com/android/dialer/calldetails')
7 files changed, 41 insertions, 33 deletions
diff --git a/java/com/android/dialer/calldetails/AndroidManifest.xml b/java/com/android/dialer/calldetails/AndroidManifest.xml index b71207ba2..adaac402e 100644 --- a/java/com/android/dialer/calldetails/AndroidManifest.xml +++ b/java/com/android/dialer/calldetails/AndroidManifest.xml @@ -20,7 +20,7 @@ <activity android:label="@string/call_details" android:name="com.android.dialer.calldetails.CallDetailsActivity" - android:theme="@style/Theme.AppCompat.NoActionBar"> + android:theme="@style/Theme.AppCompat.Light.NoActionBar"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> diff --git a/java/com/android/dialer/calldetails/CallDetailsActivity.java b/java/com/android/dialer/calldetails/CallDetailsActivity.java index 41d176562..7eab951fa 100644 --- a/java/com/android/dialer/calldetails/CallDetailsActivity.java +++ b/java/com/android/dialer/calldetails/CallDetailsActivity.java @@ -35,7 +35,7 @@ import com.android.dialer.common.Assert; import com.android.dialer.common.concurrent.AsyncTaskExecutors; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; -import com.google.protobuf.InvalidProtocolBufferException; +import com.android.dialer.protos.ProtoParsers; import java.util.List; /** Displays the details of a specific call log entry. */ @@ -53,8 +53,8 @@ public class CallDetailsActivity extends AppCompatActivity implements OnMenuItem Assert.isNotNull(contact); Intent intent = new Intent(context, CallDetailsActivity.class); - intent.putExtra(EXTRA_CONTACT, contact.toByteArray()); - intent.putExtra(EXTRA_CALL_DETAILS_ENTRIES, details.toByteArray()); + ProtoParsers.put(intent, EXTRA_CONTACT, contact); + ProtoParsers.put(intent, EXTRA_CALL_DETAILS_ENTRIES, details); return intent; } @@ -76,16 +76,13 @@ public class CallDetailsActivity extends AppCompatActivity implements OnMenuItem } private void onHandleIntent(Intent intent) { - Bundle arguments = intent.getExtras(); - CallComposerContact contact = CallComposerContact.getDefaultInstance(); - try { - contact = CallComposerContact.parseFrom(arguments.getByteArray(EXTRA_CONTACT)); - entries = - CallDetailsEntries.parseFrom(arguments.getByteArray(EXTRA_CALL_DETAILS_ENTRIES)) - .getEntriesList(); - } catch (InvalidProtocolBufferException e) { - throw Assert.createIllegalStateFailException(e.toString()); - } + CallComposerContact contact = + ProtoParsers.getTrusted(intent, EXTRA_CONTACT, CallComposerContact.getDefaultInstance()); + entries = + ProtoParsers.getTrusted( + intent, EXTRA_CALL_DETAILS_ENTRIES, CallDetailsEntries.getDefaultInstance()) + .getEntriesList(); + RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(new CallDetailsAdapter(this, contact, entries)); diff --git a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java index 156fa4255..bc989ea25 100644 --- a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java +++ b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java @@ -111,10 +111,10 @@ public class CallDetailsEntryViewHolder extends ViewHolder { callDuration.setVisibility(View.VISIBLE); callDuration.setText( CallEntryFormatter.formatDurationAndDataUsage( - context, entry.getDuration(), entry.getDataUsage(), false /* a11y */)); + context, entry.getDuration(), entry.getDataUsage())); callDuration.setContentDescription( - CallEntryFormatter.formatDurationAndDataUsage( - context, entry.getDuration(), entry.getDataUsage(), true /* a11y */)); + CallEntryFormatter.formatDurationAndDataUsageA11y( + context, entry.getDuration(), entry.getDataUsage())); } setMultimediaDetails(number, entry, showMultimediaDivider); } @@ -128,10 +128,7 @@ public class CallDetailsEntryViewHolder extends ViewHolder { HistoryResult historyResult = entry.getHistoryResults(0); multimediaDetailsContainer.setVisibility(View.VISIBLE); - multimediaDetailsContainer.setOnClickListener( - (v) -> { - DialerUtils.startActivityWithErrorToast(context, IntentUtil.getSendSmsIntent(number)); - }); + multimediaDetailsContainer.setOnClickListener((v) -> startSmsIntent(context, number)); multimediaImageContainer.setClipToOutline(true); if (!TextUtils.isEmpty(historyResult.getImageUri())) { @@ -159,12 +156,17 @@ public class CallDetailsEntryViewHolder extends ViewHolder { postCallNote.setVisibility(View.VISIBLE); postCallNote.setText( context.getString(R.string.message_in_quotes, entry.getHistoryResults(1).getText())); + postCallNote.setOnClickListener((v) -> startSmsIntent(context, number)); } else { LogUtil.i("CallDetailsEntryViewHolder.setMultimediaDetails", "no post call note"); } } } + private void startSmsIntent(Context context, String number) { + DialerUtils.startActivityWithErrorToast(context, IntentUtil.getSendSmsIntent(number)); + } + private static boolean isIncoming(@NonNull HistoryResult historyResult) { return historyResult.getType() == Type.INCOMING_POST_CALL || historyResult.getType() == Type.INCOMING_CALL_COMPOSER; diff --git a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java index 437c2602c..4d9aacf7b 100644 --- a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java +++ b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java @@ -70,14 +70,15 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder contactPhoto.setContentDescription( context.getString(R.string.description_contact_photo_details, contact.getNameOrNumber())); nameView.setText(contact.getNameOrNumber()); - if (!TextUtils.isEmpty(contact.getNumberLabel()) - && !TextUtils.isEmpty(contact.getDisplayNumber())) { + if (!TextUtils.isEmpty(contact.getDisplayNumber())) { numberView.setVisibility(View.VISIBLE); String secondaryInfo = - context.getString( - com.android.contacts.common.R.string.call_subject_type_and_number, - contact.getNumberLabel(), - contact.getDisplayNumber()); + TextUtils.isEmpty(contact.getNumberLabel()) + ? contact.getDisplayNumber() + : context.getString( + com.android.contacts.common.R.string.call_subject_type_and_number, + contact.getNumberLabel(), + contact.getDisplayNumber()); numberView.setText(secondaryInfo); } else { numberView.setVisibility(View.GONE); 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 3f2ba7534..3d4750d09 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 @@ -30,9 +30,13 @@ <TextView android:id="@+id/call_type" - android:layout_width="wrap_content" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/call_entry_text_left_margin" + android:layout_marginEnd="16dp" + android:layout_toStartOf="@+id/call_duration" + android:gravity="start" + android:maxLines="100" style="@style/PrimaryText"/> <TextView @@ -57,7 +61,6 @@ android:id="@+id/ec_container" android:layout_height="@dimen/ec_container_height" android:layout_width="match_parent" - android:layout_marginStart="@dimen/call_entry_text_left_margin" android:layout_below="@+id/call_time" android:visibility="gone"/> @@ -65,11 +68,12 @@ android:id="@+id/post_call_note" android:layout_width="match_parent" android:layout_height="@dimen/ec_container_height" + android:layout_below="@+id/ec_container" + android:paddingStart="@dimen/call_entry_text_left_margin" 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" + android:background="?attr/selectableItemBackground" style="@style/SecondaryText"/> <View diff --git a/java/com/android/dialer/calldetails/res/layout/ec_data_container.xml b/java/com/android/dialer/calldetails/res/layout/ec_data_container.xml index 85cc4ed62..fec3126a5 100644 --- a/java/com/android/dialer/calldetails/res/layout/ec_data_container.xml +++ b/java/com/android/dialer/calldetails/res/layout/ec_data_container.xml @@ -2,7 +2,10 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="@dimen/ec_container_height"> + android:layout_height="@dimen/ec_container_height" + android:paddingStart="@dimen/call_entry_text_left_margin" + android:clickable="true" + android:background="?attr/selectableItemBackground"> <TextView android:id="@+id/multimedia_details" @@ -21,6 +24,8 @@ android:layout_marginEnd="@dimen/call_entry_padding" android:layout_centerVertical="true" android:background="@drawable/multimedia_image_background" + android:clickable="true" + android:foreground="?attr/selectableItemBackground" android:outlineProvider="background" android:visibility="gone"> diff --git a/java/com/android/dialer/calldetails/res/values/dimens.xml b/java/com/android/dialer/calldetails/res/values/dimens.xml index 054cd6975..f85d02f83 100644 --- a/java/com/android/dialer/calldetails/res/values/dimens.xml +++ b/java/com/android/dialer/calldetails/res/values/dimens.xml @@ -36,7 +36,6 @@ <!-- EC container --> <dimen name="call_details_ec_text_size">12sp</dimen> <dimen name="ec_container_height">48dp</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 |