aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHall Liu <hallliu@google.com>2018-01-22 19:15:05 -0800
committerHall Liu <hallliu@google.com>2018-02-15 18:55:29 +0000
commit27fc8424127a3251dee570c52767f6e08d5aa24d (patch)
tree875d6438394c06f2086f4a6b1cf7489ca8caedd5
parenta7ba0fb28496aff091a2e172607f0e4e848c3c1c (diff)
downloadims-27fc8424127a3251dee570c52767f6e08d5aa24d.tar.gz
RTT bugfixes and logging
Add logging for RTT interface with IMS stack Fix a few bugs relating to RTT requests and initialization Add a method to set the RTT config value in the IMS stack Bug: 63934808 Bug: 72156722 Test: manual Change-Id: I44934ef53c9cc821582b381d82ee6834a9bdfe6a Merged-In: I44934ef53c9cc821582b381d82ee6834a9bdfe6a
-rw-r--r--src/java/com/android/ims/ImsCall.java3
-rw-r--r--src/java/com/android/ims/ImsManager.java22
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)
*/