From d4d2a8a6587ee2a671e50974f34a6519bc1db32a 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 --- 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 1f0d683192d5c..4b51a45f30995 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -3691,6 +3691,20 @@ public final class Settings { public static final Validator TTY_MODE_VALIDATOR = new SettingsValidators.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). @@ -4016,6 +4030,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, @@ -4214,6 +4229,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 63f970a43b0f4..e0b0bbf115449 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -787,6 +787,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(); } @@ -2646,6 +2650,7 @@ public abstract class Connection extends Conferenceable { * side of the coll. */ public final void sendRttSessionRemotelyTerminated() { + unsetRttProperty(); mListeners.forEach((l) -> l.onRttSessionRemotelyTerminated(Connection.this)); }