Merge changes I91ea9027,I19f2ae7e

* changes:
  Add keep.xml to keep string resources for spam.
  Replace TextView with BidiTextView in the new call log where a phone number can be shown.
diff --git a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml
index 726c53b..5ce87ce 100644
--- a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml
+++ b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml
@@ -53,18 +53,18 @@
       <!--
           Important note:
 
-          The following TextView is the only widget that defines a weight in the containing
+          The following BidiTextView is the only widget that defines a weight in the containing
           LinearLayout, of which the purpose is to avoid pushing the widgets after it out of the
           boundary when the text is too long.
 
-          Generally it is more efficient to assign a width/height of 0dp so that the TextView does
-          not have to measure its own size since it will absorb all the remaining space anyway.
+          Generally it is more efficient to assign a width/height of 0dp so that the BidiTextView
+          does not have to measure its own size since it will absorb all the remaining space anyway.
 
-          However, as the TextView is part of an entry in the call log's RecyclerView, we must set
-          layout_width to "wrap_content" so that the TextView can adjust its size when recycled for
-          text of different lengths.
+          However, as the BidiTextView is part of an entry in the call log's RecyclerView, we must
+          set layout_width to "wrap_content" so that the TextView can adjust its size when recycled
+          for text of different lengths.
       -->
-      <TextView
+      <com.android.dialer.widget.BidiTextView
           android:id="@+id/primary_text"
           style="@style/Dialer.TextAppearance.Primary.Ellipsize"
           android:layout_width="wrap_content"
diff --git a/java/com/android/dialer/historyitemactions/res/layout/contact_layout.xml b/java/com/android/dialer/historyitemactions/res/layout/contact_layout.xml
index 5c16783..247ca0b 100644
--- a/java/com/android/dialer/historyitemactions/res/layout/contact_layout.xml
+++ b/java/com/android/dialer/historyitemactions/res/layout/contact_layout.xml
@@ -39,13 +39,13 @@
       android:gravity="center_vertical"
       android:orientation="vertical">
 
-    <TextView
+    <com.android.dialer.widget.BidiTextView
         android:id="@+id/primary_text"
         style="@style/Dialer.TextAppearance.Primary.Ellipsize"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>
 
-    <TextView
+    <com.android.dialer.widget.BidiTextView
         android:id="@+id/secondary_text"
         style="@style/Dialer.TextAppearance.Secondary.Ellipsize"
         android:layout_width="wrap_content"
diff --git a/java/com/android/incallui/spam/res/raw/keep.xml b/java/com/android/incallui/spam/res/raw/keep.xml
new file mode 100644
index 0000000..0361e51
--- /dev/null
+++ b/java/com/android/incallui/spam/res/raw/keep.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+<resources xmlns:tools="http://schemas.android.com/tools"
+    tools:keep="
+    @string/spam_notification_title,
+    @string/spam_notification_title_230151,
+    @string/spam_notification_title_230152,
+    @string/spam_notification_title_230153,
+    @string/spam_notification_title_230154,
+    @string/spam_notification_title_230155,
+    @string/spam_notification_block_report_toast_text,
+    @string/spam_notification_block_report_toast_text_230151,
+    @string/spam_notification_block_report_toast_text_230152,
+    @string/spam_notification_block_report_toast_text_230153,
+    @string/spam_notification_block_report_toast_text_230154,
+    @string/spam_notification_block_report_toast_text_230155,
+    @string/spam_notification_not_spam_toast_text,
+    @string/spam_notification_not_spam_toast_text_230151,
+    @string/spam_notification_not_spam_toast_text_230152,
+    @string/spam_notification_not_spam_toast_text_230153,
+    @string/spam_notification_not_spam_toast_text_230154,
+    @string/spam_notification_not_spam_toast_text_230155,
+    @string/spam_notification_non_spam_call_collapsed_text,
+    @string/spam_notification_non_spam_call_collapsed_text_230151,
+    @string/spam_notification_non_spam_call_collapsed_text_230152,
+    @string/spam_notification_non_spam_call_collapsed_text_230153,
+    @string/spam_notification_non_spam_call_collapsed_text_230154,
+    @string/spam_notification_non_spam_call_collapsed_text_230155,
+    @string/spam_notification_non_spam_call_expanded_text,
+    @string/spam_notification_non_spam_call_expanded_text_230151,
+    @string/spam_notification_non_spam_call_expanded_text_230152,
+    @string/spam_notification_non_spam_call_expanded_text_230153,
+    @string/spam_notification_non_spam_call_expanded_text_230154,
+    @string/spam_notification_non_spam_call_expanded_text_230155,
+    @string/spam_notification_spam_call_collapsed_text,
+    @string/spam_notification_spam_call_collapsed_text_230151,
+    @string/spam_notification_spam_call_collapsed_text_230152,
+    @string/spam_notification_spam_call_collapsed_text_230153,
+    @string/spam_notification_spam_call_collapsed_text_230154,
+    @string/spam_notification_spam_call_collapsed_text_230155,
+    @string/spam_notification_dialog_block_report_spam_action_text,
+    @string/spam_notification_dialog_block_report_spam_action_text_230151,
+    @string/spam_notification_dialog_block_report_spam_action_text_230152,
+    @string/spam_notification_dialog_block_report_spam_action_text_230153,
+    @string/spam_notification_dialog_block_report_spam_action_text_230154,
+    @string/spam_notification_dialog_block_report_spam_action_text_230155,
+    @string/spam_notification_was_not_spam_action_text,
+    @string/spam_notification_was_not_spam_action_text_230151,
+    @string/spam_notification_was_not_spam_action_text_230152,
+    @string/spam_notification_was_not_spam_action_text_230153,
+    @string/spam_notification_was_not_spam_action_text_230154,
+    @string/spam_notification_was_not_spam_action_text_230155"/>
\ No newline at end of file