From ec88187e62b8f41e96224898417d36f534d07987 Mon Sep 17 00:00:00 2001 From: Eric Erfanian Date: Wed, 6 Dec 2017 16:27:53 -0800 Subject: [PATCH] Add assisted dialing properties to the framework. These properties allow the feature to be propogated from the outgoing call broadcast, to the connection, to the call, and finally to the call log as a feature. Test: no existing unit tests found. could use some pointers Bug: 35963245 Change-Id: I3ed8ac5ad7300c44f87e2573d9409b3a92b98ab6 Merged-In: I84343fb0cda16514c01997fd71d1e819b5b7eebb --- core/java/android/provider/CallLog.java | 6 ++++++ telecomm/java/android/telecom/Call.java | 12 +++++++++++- telecomm/java/android/telecom/Connection.java | 8 +++++++- telecomm/java/android/telecom/TelecomManager.java | 8 ++++++++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/core/java/android/provider/CallLog.java b/core/java/android/provider/CallLog.java index a8acb976a637b..766ad8454e6f4 100644 --- a/core/java/android/provider/CallLog.java +++ b/core/java/android/provider/CallLog.java @@ -223,6 +223,12 @@ public class CallLog { /** Call was WIFI call. */ public static final int FEATURES_WIFI = 0x8; + /** + * Indicates the call underwent Assisted Dialing. + * @hide + */ + public static final Integer FEATURES_ASSISTED_DIALING_USED = 0x10; + /** * The phone number as the user entered it. *

Type: TEXT

diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index a07f2bbf33232..5cd2044f8318c 100644 --- a/telecomm/java/android/telecom/Call.java +++ b/telecomm/java/android/telecom/Call.java @@ -416,8 +416,15 @@ public final class Call { */ public static final int PROPERTY_SELF_MANAGED = 0x00000100; + /** + * Indicates the call used Assisted Dialing. + * See also {@link Connection#PROPERTY_ASSISTED_DIALING_USED} + * @hide + */ + public static final int PROPERTY_ASSISTED_DIALING_USED = 0x00000200; + //****************************************************************************************** - // Next PROPERTY value: 0x00000200 + // Next PROPERTY value: 0x00000400 //****************************************************************************************** private final String mTelecomCallId; @@ -577,6 +584,9 @@ public final class Call { if(hasProperty(properties, PROPERTY_HAS_CDMA_VOICE_PRIVACY)) { builder.append(" PROPERTY_HAS_CDMA_VOICE_PRIVACY"); } + if(hasProperty(properties, PROPERTY_ASSISTED_DIALING_USED)) { + builder.append(" PROPERTY_ASSISTED_DIALING_USED"); + } builder.append("]"); return builder.toString(); } diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index ffb5e93f457c0..d71fde28480ce 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -402,8 +402,14 @@ public abstract class Connection extends Conferenceable { @TestApi public static final int PROPERTY_IS_RTT = 1 << 8; + /** + * Set by the framework to indicate that a connection is using assisted dialing. + * @hide + */ + public static final int PROPERTY_ASSISTED_DIALING_USED = 1 << 9; + //********************************************************************************************** - // Next PROPERTY value: 1<<9 + // Next PROPERTY value: 1<<10 //********************************************************************************************** /** diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index 92d458f13cd12..e1247502fe86b 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -581,6 +581,14 @@ public class TelecomManager { public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT"; + /** + * The boolean indicated by this extra controls whether or not a call is eligible to undergo + * assisted dialing. This extra is stored under {@link #EXTRA_OUTGOING_CALL_EXTRAS}. + * @hide + */ + public static final String EXTRA_USE_ASSISTED_DIALING = + "android.telecom.extra.USE_ASSISTED_DIALING"; + /** * The following 4 constants define how properties such as phone numbers and names are * displayed to the user.