diff --git a/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java b/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java
index e9f7cc6..c7bf536 100644
--- a/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java
+++ b/java/com/android/dialer/spam/promo/SpamBlockingPromoHelper.java
@@ -23,6 +23,7 @@
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.DialogInterface.OnDismissListener;
+import android.graphics.drawable.Icon;
 import android.support.design.widget.Snackbar;
 import android.support.v4.os.BuildCompat;
 import android.view.View;
@@ -179,6 +180,8 @@
             .setPriority(Notification.PRIORITY_DEFAULT)
             .setColor(context.getColor(R.color.dialer_theme_color))
             .setSmallIcon(R.drawable.quantum_ic_call_vd_theme_24)
+            .setLargeIcon(Icon.createWithResource(context, R.drawable.spam_blocking_promo_icon))
+            .setContentText(context.getString(R.string.spam_blocking_promo_text))
             .setStyle(
                 new Notification.BigTextStyle()
                     .bigText(context.getString(R.string.spam_blocking_promo_text)))
@@ -196,3 +199,4 @@
     return builder.build();
   }
 }
+
diff --git a/java/com/android/dialer/spam/promo/res/drawable/spam_blocking_promo_icon.xml b/java/com/android/dialer/spam/promo/res/drawable/spam_blocking_promo_icon.xml
new file mode 100644
index 0000000..9b35bcb
--- /dev/null
+++ b/java/com/android/dialer/spam/promo/res/drawable/spam_blocking_promo_icon.xml
@@ -0,0 +1,34 @@
+<?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
+  -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+  <item>
+    <shape android:shape="oval">
+      <solid android:color="@color/incall_call_spam_background_color"/>
+      <size
+          android:height="@android:dimen/notification_large_icon_height"
+          android:width="@android:dimen/notification_large_icon_width"/>
+    </shape>
+  </item>
+
+  <item
+      android:drawable="@drawable/quantum_ic_report_white_36"
+      android:gravity="center"/>
+
+</layer-list>
diff --git a/java/com/android/dialer/spam/promo/res/values/strings.xml b/java/com/android/dialer/spam/promo/res/values/strings.xml
index 037e83b..91036be 100644
--- a/java/com/android/dialer/spam/promo/res/values/strings.xml
+++ b/java/com/android/dialer/spam/promo/res/values/strings.xml
@@ -17,9 +17,10 @@
 
 <resources>
   <!-- Title for the spam blocking promo dialog. [CHAR LIMIT=100] -->
-  <string name="spam_blocking_promo_title">Also filter suspected spam calls?</string>
-  <!-- Text for the spam blocking promo dialog. [CHAR LIMIT=100] -->
-  <string name="spam_blocking_promo_text">You won\'t be disturbed by incoming suspected spam calls</string>
+  <string name="spam_blocking_promo_title">Filter all suspected spam calls?</string>
+  <!-- Text for the spam blocking promo dialog. [CHAR LIMIT=NONE] -->
+  <string name="spam_blocking_promo_text">Calls like the one you just blocked will no longer
+      disturb you</string>
   <!-- Label for filter spam dialog action. [CHAR LIMIT=32] -->
   <string name="spam_blocking_promo_action_filter_spam">Filter Spam</string>
   <!-- Label for "Dismiss" dialog action. [CHAR LIMIT=32] -->
