summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calldetails
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/calldetails')
-rw-r--r--java/com/android/dialer/calldetails/AndroidManifest.xml2
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsActivity.java23
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java16
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java13
-rw-r--r--java/com/android/dialer/calldetails/res/layout/call_details_entry.xml12
-rw-r--r--java/com/android/dialer/calldetails/res/layout/ec_data_container.xml7
-rw-r--r--java/com/android/dialer/calldetails/res/values/dimens.xml1
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