From ee57508851800b757e1d2f1b92da50ae6630d541 Mon Sep 17 00:00:00 2001 From: Hall Liu Date: Mon, 29 Jan 2018 17:22:02 -0800 Subject: [PATCH] Add setting and logging for RTT Add a system setting to store preferred RTT mode for calls. Add logging for RTT in Telecom base classes. Bug: 63934808 Test: manual Change-Id: Ie26fac800931604379bbe7b8abfed7caa8c0236d Merged-In: Ie26fac800931604379bbe7b8abfed7caa8c0236d --- core/java/android/provider/Settings.java | 16 ++++++++++++++++ telecomm/java/android/telecom/Connection.java | 5 +++++ 2 files changed, 21 insertions(+) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 5dd4681112f98..86f48214db005 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -3664,6 +3664,20 @@ public final class Settings { /** @hide */ public static final Validator TTY_MODE_VALIDATOR = new InclusiveIntegerRangeValidator(0, 3); + /** + * User-selected RTT mode + * 0 = OFF + * 1 = FULL + * 2 = VCO + * 3 = HCO + * Uses the same constants as TTY (e.g. {@link android.telecom.TelecomManager#TTY_MODE_OFF}) + * @hide + */ + public static final String RTT_CALLING_MODE = "rtt_calling_mode"; + + /** @hide */ + public static final Validator RTT_CALLING_MODE_VALIDATOR = TTY_MODE_VALIDATOR; + /** * Whether the sounds effects (key clicks, lid open ...) are enabled. The value is * boolean (1 or 0). @@ -3984,6 +3998,7 @@ public final class Settings { DTMF_TONE_WHEN_DIALING, DTMF_TONE_TYPE_WHEN_DIALING, HEARING_AID, + RTT_CALLING_MODE, TTY_MODE, MASTER_MONO, SOUND_EFFECTS_ENABLED, @@ -4167,6 +4182,7 @@ public final class Settings { VALIDATORS.put(DTMF_TONE_TYPE_WHEN_DIALING, DTMF_TONE_TYPE_WHEN_DIALING_VALIDATOR); VALIDATORS.put(HEARING_AID, HEARING_AID_VALIDATOR); VALIDATORS.put(TTY_MODE, TTY_MODE_VALIDATOR); + VALIDATORS.put(RTT_CALLING_MODE, RTT_CALLING_MODE_VALIDATOR); VALIDATORS.put(NOTIFICATION_LIGHT_PULSE, NOTIFICATION_LIGHT_PULSE_VALIDATOR); VALIDATORS.put(POINTER_LOCATION, POINTER_LOCATION_VALIDATOR); VALIDATORS.put(SHOW_TOUCHES, SHOW_TOUCHES_VALIDATOR); diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 69cc3dedf256d..32035f618c8a3 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -796,6 +796,10 @@ public abstract class Connection extends Conferenceable { builder.append(isLong ? " PROPERTY_HAS_CDMA_VOICE_PRIVACY" : " priv"); } + if (can(properties, PROPERTY_IS_RTT)) { + builder.append(isLong ? " PROPERTY_IS_RTT" : " rtt"); + } + builder.append("]"); return builder.toString(); } @@ -2649,6 +2653,7 @@ public abstract class Connection extends Conferenceable { */ @TestApi public final void sendRttSessionRemotelyTerminated() { + unsetRttProperty(); mListeners.forEach((l) -> l.onRttSessionRemotelyTerminated(Connection.this)); }