Hide emergency calls in the call log
Bug: 38494024,66926712
Test: CallLogAdapterTest, manually checked UI
PiperOrigin-RevId: 181238101
Change-Id: I1b718e30a4bc874e098e30a3aaae39bdd69d0c9a
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index 261b0ec..963967f 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -39,6 +39,7 @@
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.telecom.PhoneAccountHandle;
+import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
@@ -802,7 +803,7 @@
int groupSize = getGroupSize(position);
CallDetailsEntries callDetailsEntries = createCallDetailsEntries(c, groupSize);
PhoneCallDetails details = createPhoneCallDetails(c, groupSize, views);
- if (hiddenRowIds.contains(c.getLong(CallLogQuery.ID))) {
+ if (isHiddenRow(views.number, c.getLong(CallLogQuery.ID))) {
views.callLogEntryView.setVisibility(View.GONE);
views.dayGroupHeader.setVisibility(View.GONE);
return;
@@ -827,6 +828,16 @@
}
}
+ private boolean isHiddenRow(@Nullable String number, long rowId) {
+ if (number != null && PhoneNumberUtils.isEmergencyNumber(number)) {
+ return true;
+ }
+ if (hiddenRowIds.contains(rowId)) {
+ return true;
+ }
+ return false;
+ }
+
private void loadAndRender(
final CallLogListItemViewHolder viewHolder,
final long rowId,