diff --git a/res/drawable-hdpi/ic_signal_wifi_4_bar_24dp.png b/res/drawable-hdpi/ic_signal_wifi_4_bar_24dp.png
new file mode 100644
index 0000000..5a53192
--- /dev/null
+++ b/res/drawable-hdpi/ic_signal_wifi_4_bar_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_signal_wifi_4_bar_24dp.png b/res/drawable-mdpi/ic_signal_wifi_4_bar_24dp.png
new file mode 100644
index 0000000..dd5a42f
--- /dev/null
+++ b/res/drawable-mdpi/ic_signal_wifi_4_bar_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_signal_wifi_4_bar_24dp.png b/res/drawable-xhdpi/ic_signal_wifi_4_bar_24dp.png
new file mode 100644
index 0000000..28b5afa
--- /dev/null
+++ b/res/drawable-xhdpi/ic_signal_wifi_4_bar_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_signal_wifi_4_bar_24dp.png b/res/drawable-xxhdpi/ic_signal_wifi_4_bar_24dp.png
new file mode 100644
index 0000000..f4105ec
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_signal_wifi_4_bar_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_signal_wifi_4_bar_24dp.png b/res/drawable-xxxhdpi/ic_signal_wifi_4_bar_24dp.png
new file mode 100644
index 0000000..58a4f9c
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_signal_wifi_4_bar_24dp.png
Binary files differ
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1e5d785..bd5e1b4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1292,6 +1292,9 @@
     <!-- Configuration setting for world mode Format is <true;GID if any to be checked>-->
     <string translatable="false" name="config_world_mode"/>
 
+    <!-- Status hint label for a call being made over a wifi network. [CHAR LIMIT=25] -->
+    <string name="status_hint_label_wifi_call">Wi-Fi call</string>
+
     <!-- DO NOT TRANSLATE. Internal key for a voicemail notification preference. -->
     <string name="voicemail_notification_ringtone_key">voicemail_notification_ringtone_key</string>
     <!-- DO NOT TRANSLATE. Internal key for a voicemail notification preference. -->
@@ -1300,4 +1303,5 @@
     <string name="tty_mode_key">button_tty_mode_key</string>
     <!-- DO NOT TRANSLATE. Internal key for a voicemail notification preference. -->
     <string name="wifi_calling_settings_key">button_wifi_calling_settings_key</string>
+
 </resources>
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index b00aa46..d4eadea 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -16,6 +16,8 @@
 
 package com.android.services.telephony;
 
+import android.content.ComponentName;
+import android.content.Context;
 import android.net.Uri;
 import android.os.AsyncResult;
 import android.os.Handler;
@@ -24,12 +26,14 @@
 import android.telecom.ConferenceParticipant;
 import android.telecom.Connection;
 import android.telecom.PhoneAccount;
+import android.telecom.StatusHints;
 
 import com.android.internal.telephony.Call;
 import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.Connection.PostDialListener;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.imsphone.ImsPhoneConnection;
+import com.android.phone.R;
 
 import java.lang.Override;
 import java.util.Collections;
@@ -790,6 +794,19 @@
     public void setWifi(boolean isWifi) {
         mIsWifi = isWifi;
         updateConnectionCapabilities();
+
+        if (mIsWifi && mOriginalConnection.isIncoming()) {
+            Context context = getPhone().getContext();
+            ComponentName componentName =
+                    new ComponentName(context, TelephonyConnectionService.class);
+            setStatusHints(new StatusHints(
+                    new ComponentName(context, TelephonyConnectionService.class),
+                    context.getString(R.string.status_hint_label_wifi_call),
+                    R.drawable.ic_signal_wifi_4_bar_24dp,
+                    null /* extras */));
+        } else {
+            setStatusHints(null);
+        }
     }
 
     /**
