summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java
diff options
context:
space:
mode:
authorlinyuh <linyuh@google.com>2017-11-22 10:58:56 -0800
committerCopybara-Service <copybara-piper@google.com>2017-11-22 16:26:29 -0800
commit7ba72d2d5b4061cf55d5440d4434a660c9108d2e (patch)
treec2de078bec6bbc96654c1032d016cdb19ac004c0 /java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java
parent1fb1c697a2b71ed629df76c4be129729f3cb6aea (diff)
Allow deleting a call log entry in the call log UI and the call details UI.
In the call log UI, an entry can be deleted by selecting "delete" in its context menu. In the call details UI, a "delete" button is added at the bottom. The "delete" icon at the top right of the call details UI is removed. Public-Origin-Change-Id: Iabe1310fb9a97a277cf482a3fd61ffccbec125fe Signed-off-by: Linyu He <linyuh@google.com> Author: Masafumi Miya <masafumi.miya@sony.com> Bug: 38188896 Test: CallLogActivityIntegrationTest, CallDetailsActivityIntegrationTest PiperOrigin-RevId: 176677167 Change-Id: I2e31cd112efdfb83393f5e68ce016dcf36ac4858
Diffstat (limited to 'java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java')
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java28
1 files changed, 22 insertions, 6 deletions
diff --git a/java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java
index 6a5188e56..eeb19a862 100644
--- a/java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java
+++ b/java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java
@@ -34,32 +34,39 @@ import com.android.dialer.util.DialerUtils;
/** ViewHolder container for {@link CallDetailsActivity} footer. */
final class CallDetailsFooterViewHolder extends RecyclerView.ViewHolder implements OnClickListener {
- private final ReportCallIdListener listener;
+ private final ReportCallIdListener reportCallIdListener;
+ private final DeleteCallDetailsListener deleteCallDetailsListener;
private final View container;
private final View copy;
private final View edit;
private final View reportCallerId;
+ private final View delete;
private String number;
- CallDetailsFooterViewHolder(View view, ReportCallIdListener listener) {
+ CallDetailsFooterViewHolder(
+ View view,
+ ReportCallIdListener reportCallIdListener,
+ DeleteCallDetailsListener deleteCallDetailsListener) {
super(view);
- this.listener = listener;
+ this.reportCallIdListener = reportCallIdListener;
+ this.deleteCallDetailsListener = deleteCallDetailsListener;
container = view.findViewById(R.id.footer_container);
copy = view.findViewById(R.id.call_detail_action_copy);
edit = view.findViewById(R.id.call_detail_action_edit_before_call);
reportCallerId = view.findViewById(R.id.call_detail_action_report_caller_id);
-
+ delete = view.findViewById(R.id.call_detail_action_delete);
copy.setOnClickListener(this);
edit.setOnClickListener(this);
reportCallerId.setOnClickListener(this);
+ delete.setOnClickListener(this);
}
public void setPhoneNumber(String number) {
this.number = number;
if (TextUtils.isEmpty(number)) {
container.setVisibility(View.GONE);
- } else if (listener.canReportCallerId(number)) {
+ } else if (reportCallIdListener.canReportCallerId(number)) {
reportCallerId.setVisibility(View.VISIBLE);
}
}
@@ -81,7 +88,9 @@ final class CallDetailsFooterViewHolder extends RecyclerView.ViewHolder implemen
Intent dialIntent = new Intent(Intent.ACTION_DIAL, CallUtil.getCallUri(number));
DialerUtils.startActivityWithErrorToast(context, dialIntent);
} else if (view == reportCallerId) {
- listener.reportCallId(number);
+ reportCallIdListener.reportCallId(number);
+ } else if (view == delete) {
+ deleteCallDetailsListener.delete();
} else {
Assert.fail("View on click not implemented: " + view);
}
@@ -96,4 +105,11 @@ final class CallDetailsFooterViewHolder extends RecyclerView.ViewHolder implemen
/** returns true if the number can be reported as inaccurate. */
boolean canReportCallerId(String number);
}
+
+ /** Listener for deleting call details */
+ interface DeleteCallDetailsListener {
+
+ /** Delete call details */
+ void delete();
+ }
}