diff options
Diffstat (limited to 'src/java/com')
-rw-r--r-- | src/java/com/android/ims/ImsCall.java | 3 | ||||
-rw-r--r-- | src/java/com/android/ims/ImsManager.java | 22 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/java/com/android/ims/ImsCall.java b/src/java/com/android/ims/ImsCall.java index 5fceb7af..1d728a1a 100644 --- a/src/java/com/android/ims/ImsCall.java +++ b/src/java/com/android/ims/ImsCall.java @@ -1652,6 +1652,7 @@ public class ImsCall implements ICall { // Make a copy of the current ImsCallProfile and modify it to enable RTT Parcel p = Parcel.obtain(); mCallProfile.writeToParcel(p, 0); + p.setDataPosition(0); ImsCallProfile requestedProfile = new ImsCallProfile(p); requestedProfile.mMediaProfile.setRttMode(ImsStreamMediaProfile.RTT_MODE_FULL); @@ -3101,6 +3102,7 @@ public class ImsCall implements ICall { public void callSessionRttModifyRequestReceived(ImsCallSession session, ImsCallProfile callProfile) { ImsCall.Listener listener; + logi("callSessionRttModifyRequestReceived"); synchronized(ImsCall.this) { listener = mListener; @@ -3125,6 +3127,7 @@ public class ImsCall implements ICall { public void callSessionRttModifyResponseReceived(int status) { ImsCall.Listener listener; + logi("callSessionRttModifyResponseReceived"); synchronized(ImsCall.this) { listener = mListener; } diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java index ad8d11b2..6fc12920 100644 --- a/src/java/com/android/ims/ImsManager.java +++ b/src/java/com/android/ims/ImsManager.java @@ -1635,6 +1635,28 @@ public class ImsManager { } } + public void setRttEnabled(boolean enabled) { + try { + setAdvanced4GMode(enabled || isEnhanced4gLteModeSettingEnabledByUser()); + final int value = enabled ? ImsConfig.FeatureValueConstants.ON : + ImsConfig.FeatureValueConstants.OFF; + Thread thread = new Thread(() -> { + try { + Log.i(ImsManager.class.getSimpleName(), "Setting RTT enabled to " + enabled); + getConfigInterface().setProvisionedValue( + ImsConfig.ConfigConstants.RTT_SETTING_ENABLED, value); + } catch (ImsException e) { + Log.e(ImsManager.class.getSimpleName(), "Unable to set RTT enabled to " + + enabled + ": " + e); + } + }); + thread.start(); + } catch (ImsException e) { + Log.e(ImsManager.class.getSimpleName(), "Unable to set RTT enabled to " + enabled + + ": " + e); + } + } + /** * Set the TTY mode. This is the actual tty mode (varies depending on peripheral status) */ |