diff options
author | linyuh <linyuh@google.com> | 2017-11-22 10:58:56 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-11-22 16:26:29 -0800 |
commit | 7ba72d2d5b4061cf55d5440d4434a660c9108d2e (patch) | |
tree | c2de078bec6bbc96654c1032d016cdb19ac004c0 /java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java | |
parent | 1fb1c697a2b71ed629df76c4be129729f3cb6aea (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.java | 28 |
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(); + } } |