Convert InCall WFC labeling to use StatusHints.

Bug: 19866988
Change-Id: Ib2353524361fcbff8e0caf44517f76c8cf573927
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);
+        }
     }
 
     /**