Merge AU_LINUX_ANDROID_LA.BF64.1.2.1_RB2.05.01.00.081.009 on remote branch

Change-Id: I274c67f97da7fe5b6f25067fb780e49ec29494c8
diff --git a/src/java/com/android/ims/ImsCall.java b/src/java/com/android/ims/ImsCall.java
index 0a98d8e..ee8ec11 100755
--- a/src/java/com/android/ims/ImsCall.java
+++ b/src/java/com/android/ims/ImsCall.java
@@ -408,6 +408,16 @@
         public void onCallHandoverFailed(ImsCall imsCall, int srcAccessTech, int targetAccessTech,
             ImsReasonInfo reasonInfo) {
         }
+
+        /*
+         * Called when TTY mode of remote party changed
+         *
+         * @param call the call object that carries out the IMS call
+         * @param mode TTY mode of remote party
+         */
+        public void onCallSessionTtyModeReceived(ImsCall call, int mode) {
+            // no-op
+        }
     }
 
 
@@ -2949,29 +2959,17 @@
                         + ", mode=" + mode);
             }
 
-            int settingsTtyMode = Settings.Secure.getInt(
-                    mContext.getContentResolver(),
-                    Settings.Secure.PREFERRED_TTY_MODE,
-                    TelecomManager.TTY_MODE_OFF);
-            if (settingsTtyMode == TelecomManager.TTY_MODE_OFF) {
-                // Notify the user that TTY mode changed in the far device
-                int resId = 0;
-                switch (mode) {
-                    case TelecomManager.TTY_MODE_FULL:
-                        resId = com.android.internal.R.string.peerTtyModeFull;
-                        break;
-                    case TelecomManager.TTY_MODE_HCO:
-                        resId = com.android.internal.R.string.peerTtyModeHco;
-                        break;
-                    case TelecomManager.TTY_MODE_VCO:
-                        resId = com.android.internal.R.string.peerTtyModeVco;
-                        break;
-                    case TelecomManager.TTY_MODE_OFF:
-                        resId = com.android.internal.R.string.peerTtyModeOff;
-                        break;
-                }
-                if (resId != 0) {
-                    Toast.makeText(mContext, resId, Toast.LENGTH_SHORT).show();
+            ImsCall.Listener listener;
+
+            synchronized(ImsCall.this) {
+                listener = mListener;
+            }
+
+            if (listener != null) {
+                try {
+                    listener.onCallSessionTtyModeReceived(ImsCall.this, mode);
+                } catch (Throwable t) {
+                    loge("callSessionTtyModeReceived :: ", t);
                 }
             }
         }
diff --git a/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java b/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
index 86211a2..22d0428 100644
--- a/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
+++ b/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
@@ -98,7 +98,7 @@
 
         @Override
         public void changeCallDataUsage(int dataUsage) {
-            mHandler.obtainMessage(MSG_CHANGE_CALL_DATA_USAGE, dataUsage).sendToTarget();
+            mHandler.obtainMessage(MSG_CHANGE_CALL_DATA_USAGE, dataUsage, 0).sendToTarget();
         }
 
         @Override