From 7ba72d2d5b4061cf55d5440d4434a660c9108d2e Mon Sep 17 00:00:00 2001 From: linyuh Date: Wed, 22 Nov 2017 10:58:56 -0800 Subject: 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 Author: Masafumi Miya Bug: 38188896 Test: CallLogActivityIntegrationTest, CallDetailsActivityIntegrationTest PiperOrigin-RevId: 176677167 Change-Id: I2e31cd112efdfb83393f5e68ce016dcf36ac4858 --- .../calldetails/CallDetailsFooterViewHolder.java | 28 +++++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java') 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(); + } } -- cgit v1.2.3