Implement Connection.setStatus

Change-Id: I125628b74784d2303b9a429038a9f7ee604f241e
diff --git a/src/com/android/telecomm/Call.java b/src/com/android/telecomm/Call.java
index 99e4b07..49e72b2 100644
--- a/src/com/android/telecomm/Call.java
+++ b/src/com/android/telecomm/Call.java
@@ -29,6 +29,7 @@
 import android.telecomm.GatewayInfo;
 import android.telecomm.PhoneAccount;
 import android.telecomm.Response;
+import android.telecomm.StatusHints;
 import android.telecomm.TelecommConstants;
 import android.telephony.DisconnectCause;
 import android.telephony.PhoneNumberUtils;
@@ -76,6 +77,7 @@
         void onFeaturesChanged(Call call);
         void onCallerInfoChanged(Call call);
         void onAudioModeIsVoipChanged(Call call);
+        void onStatusHintsChanged(Call call);
     }
 
     abstract static class ListenerBase implements Listener {
@@ -113,6 +115,8 @@
         public void onCallerInfoChanged(Call call) {}
         @Override
         public void onAudioModeIsVoipChanged(Call call) {}
+        @Override
+        public void onStatusHintsChanged(Call call) {}
     }
 
     private static final OnQueryCompleteListener sCallerInfoQueryListener =
@@ -232,6 +236,7 @@
     private int mFeatures;
 
     private boolean mAudioModeIsVoip;
+    private StatusHints mStatusHints;
 
     /**
      * Creates an empty call object.
@@ -1071,7 +1076,18 @@
     public void setAudioModeIsVoip(boolean audioModeIsVoip) {
         mAudioModeIsVoip = audioModeIsVoip;
         for (Listener l : mListeners) {
-            l.onAudioModeIsVoipChanged(Call.this);
+            l.onAudioModeIsVoipChanged(this);
+        }
+    }
+
+    public StatusHints getStatusHints() {
+        return mStatusHints;
+    }
+
+    public void setStatusHints(StatusHints statusHints) {
+        mStatusHints = statusHints;
+        for (Listener l : mListeners) {
+            l.onStatusHintsChanged(this);
         }
     }
 }