From 813fb1e9bd3939366c2e54c371a5ed2c043ef5a0 Mon Sep 17 00:00:00 2001 From: Renat Aksitov Date: Thu, 9 Mar 2017 18:03:38 -0800 Subject: [PATCH] Voice Messaging Intent API. Adding optional extras for specifying sender's account. Bug 35920443 Test: make -j11 docs Change-Id: I8460087a7e4059f8b73c57d96c20a06d3bd8029b --- api/current.txt | 1 + api/system-current.txt | 1 + api/test-current.txt | 1 + core/java/android/provider/ContactsContract.java | 15 ++++++++++++++- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/api/current.txt b/api/current.txt index 1a5ea853b3653..54d4ce00daf0f 100644 --- a/api/current.txt +++ b/api/current.txt @@ -33836,6 +33836,7 @@ package android.provider { field public static final java.lang.String EXTRA_RECIPIENT_CONTACT_CHAT_ID = "android.provider.extra.RECIPIENT_CONTACT_CHAT_ID"; field public static final java.lang.String EXTRA_RECIPIENT_CONTACT_NAME = "android.provider.extra.RECIPIENT_CONTACT_NAME"; field public static final java.lang.String EXTRA_RECIPIENT_CONTACT_URI = "android.provider.extra.RECIPIENT_CONTACT_URI"; + field public static final java.lang.String EXTRA_SENDER_ACCOUNT_HASH = "android.provider.extra.SENDER_ACCOUNT_HASH"; field public static final java.lang.String INVITE_CONTACT = "com.android.contacts.action.INVITE_CONTACT"; field public static final java.lang.String METADATA_ACCOUNT_TYPE = "android.provider.account_type"; field public static final java.lang.String METADATA_MIMETYPE = "android.provider.mimetype"; diff --git a/api/system-current.txt b/api/system-current.txt index b5c20e52e913e..6e20dfda1faae 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -36711,6 +36711,7 @@ package android.provider { field public static final java.lang.String EXTRA_RECIPIENT_CONTACT_CHAT_ID = "android.provider.extra.RECIPIENT_CONTACT_CHAT_ID"; field public static final java.lang.String EXTRA_RECIPIENT_CONTACT_NAME = "android.provider.extra.RECIPIENT_CONTACT_NAME"; field public static final java.lang.String EXTRA_RECIPIENT_CONTACT_URI = "android.provider.extra.RECIPIENT_CONTACT_URI"; + field public static final java.lang.String EXTRA_SENDER_ACCOUNT_HASH = "android.provider.extra.SENDER_ACCOUNT_HASH"; field public static final java.lang.String INVITE_CONTACT = "com.android.contacts.action.INVITE_CONTACT"; field public static final java.lang.String METADATA_ACCOUNT_TYPE = "android.provider.account_type"; field public static final java.lang.String METADATA_MIMETYPE = "android.provider.mimetype"; diff --git a/api/test-current.txt b/api/test-current.txt index 57cc998ffb5de..cbb7cb5f84472 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -33963,6 +33963,7 @@ package android.provider { field public static final java.lang.String EXTRA_RECIPIENT_CONTACT_CHAT_ID = "android.provider.extra.RECIPIENT_CONTACT_CHAT_ID"; field public static final java.lang.String EXTRA_RECIPIENT_CONTACT_NAME = "android.provider.extra.RECIPIENT_CONTACT_NAME"; field public static final java.lang.String EXTRA_RECIPIENT_CONTACT_URI = "android.provider.extra.RECIPIENT_CONTACT_URI"; + field public static final java.lang.String EXTRA_SENDER_ACCOUNT_HASH = "android.provider.extra.SENDER_ACCOUNT_HASH"; field public static final java.lang.String INVITE_CONTACT = "com.android.contacts.action.INVITE_CONTACT"; field public static final java.lang.String METADATA_ACCOUNT_TYPE = "android.provider.account_type"; field public static final java.lang.String METADATA_MIMETYPE = "android.provider.mimetype"; diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index a0d16bc2d9b05..dac835463c02a 100644 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -44,7 +44,6 @@ import android.text.TextUtils; import android.util.DisplayMetrics; import android.util.Pair; import android.view.View; - import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -8913,11 +8912,15 @@ public final class ContactsContract { * ambiguous then the activity should prompt the user for the recipient to send the message * to. *

+ * Voice Assistant may provide additional information to messaging app about which account + * to use for sending a message by populating {@link #EXTRA_SENDER_ACCOUNT_HASH}. + *

* Output: nothing * * @see #EXTRA_RECIPIENT_CONTACT_URI * @see #EXTRA_RECIPIENT_CONTACT_CHAT_ID * @see #EXTRA_RECIPIENT_CONTACT_NAME + * @see #EXTRA_SENDER_ACCOUNT_HASH * @see #METADATA_ACCOUNT_TYPE * @see #METADATA_MIMETYPE */ @@ -8974,6 +8977,16 @@ public final class ContactsContract { public static final String EXTRA_RECIPIENT_CONTACT_NAME = "android.provider.extra.RECIPIENT_CONTACT_NAME"; + /** + * This optional extra specifies the hash of the account that should be used by messaging + * app for sending voice message with {@link #ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS}. The + * value of this extra is a {@code String} and should be the value of {@link + * android.accounts.Account#hashCode()} for some account returned by {@link + * android.accounts.AccountManager#getAccounts()}. + */ + public static final String EXTRA_SENDER_ACCOUNT_HASH = + "android.provider.extra.SENDER_ACCOUNT_HASH"; + /** * A string associated with an {@link #ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS} activity * describing {@link RawContacts#ACCOUNT_TYPE} for the corresponding Contacts Provider