Refactor RemoteInputIntentHelper to use CharSequence instead of String
CharSequence should be used instead of Strings when they're are shown
in the UI.
No need to change the test as String can be passed as CharSequence.
Bug: 186520620
Test: RemoteInputIntentHelper
Relnote: "We have refactored RemoteInputIntentHelper's methods to use CharSequence instead for String for working with extras that represent title, cancel, confirm and in progress label."
Change-Id: I0e71f888c3da299cf863bcd3a5af18174d705313
diff --git a/wear/wear-input/api/current.txt b/wear/wear-input/api/current.txt
index dc46d45..5909312 100644
--- a/wear/wear-input/api/current.txt
+++ b/wear/wear-input/api/current.txt
@@ -9,39 +9,39 @@
@RequiresApi(android.os.Build.VERSION_CODES.N) public final class RemoteInputIntentHelper {
method public static android.content.Intent createActionRemoteInputIntent();
- method public static String? getCancelLabelExtra(android.content.Intent intent);
- method public static String? getConfirmLabelExtra(android.content.Intent intent);
- method public static String? getInProgressLabelExtra(android.content.Intent intent);
+ method public static CharSequence? getCancelLabelExtra(android.content.Intent intent);
+ method public static CharSequence? getConfirmLabelExtra(android.content.Intent intent);
+ method public static CharSequence? getInProgressLabelExtra(android.content.Intent intent);
method public static java.util.List<android.app.RemoteInput>? getRemoteInputsExtra(android.content.Intent intent);
method public static java.util.List<java.lang.CharSequence>? getSmartReplyContextExtra(android.content.Intent intent);
- method public static String? getTitleExtra(android.content.Intent intent);
+ method public static CharSequence? getTitleExtra(android.content.Intent intent);
method public static boolean hasRemoteInputsExtra(android.content.Intent intent);
method public static boolean isActionRemoteInput(android.content.Intent intent);
- method public static android.content.Intent putCancelLabelExtra(android.content.Intent intent, String label);
- method public static android.content.Intent putConfirmLabelExtra(android.content.Intent intent, String label);
- method public static android.content.Intent putInProgressLabelExtra(android.content.Intent intent, String label);
+ method public static android.content.Intent putCancelLabelExtra(android.content.Intent intent, CharSequence label);
+ method public static android.content.Intent putConfirmLabelExtra(android.content.Intent intent, CharSequence label);
+ method public static android.content.Intent putInProgressLabelExtra(android.content.Intent intent, CharSequence label);
method public static android.content.Intent putRemoteInputsExtra(android.content.Intent intent, java.util.List<android.app.RemoteInput> remoteInputs);
method public static android.content.Intent putSmartReplyContextExtra(android.content.Intent intent, java.util.List<? extends java.lang.CharSequence> smartReplyContext);
- method public static android.content.Intent putTitleExtra(android.content.Intent intent, String title);
+ method public static android.content.Intent putTitleExtra(android.content.Intent intent, CharSequence title);
field public static final androidx.wear.input.RemoteInputIntentHelper.Companion Companion;
}
public static final class RemoteInputIntentHelper.Companion {
method public android.content.Intent createActionRemoteInputIntent();
- method public String? getCancelLabelExtra(android.content.Intent intent);
- method public String? getConfirmLabelExtra(android.content.Intent intent);
- method public String? getInProgressLabelExtra(android.content.Intent intent);
+ method public CharSequence? getCancelLabelExtra(android.content.Intent intent);
+ method public CharSequence? getConfirmLabelExtra(android.content.Intent intent);
+ method public CharSequence? getInProgressLabelExtra(android.content.Intent intent);
method public java.util.List<android.app.RemoteInput>? getRemoteInputsExtra(android.content.Intent intent);
method public java.util.List<java.lang.CharSequence>? getSmartReplyContextExtra(android.content.Intent intent);
- method public String? getTitleExtra(android.content.Intent intent);
+ method public CharSequence? getTitleExtra(android.content.Intent intent);
method public boolean hasRemoteInputsExtra(android.content.Intent intent);
method public boolean isActionRemoteInput(android.content.Intent intent);
- method public android.content.Intent putCancelLabelExtra(android.content.Intent intent, String label);
- method public android.content.Intent putConfirmLabelExtra(android.content.Intent intent, String label);
- method public android.content.Intent putInProgressLabelExtra(android.content.Intent intent, String label);
+ method public android.content.Intent putCancelLabelExtra(android.content.Intent intent, CharSequence label);
+ method public android.content.Intent putConfirmLabelExtra(android.content.Intent intent, CharSequence label);
+ method public android.content.Intent putInProgressLabelExtra(android.content.Intent intent, CharSequence label);
method public android.content.Intent putRemoteInputsExtra(android.content.Intent intent, java.util.List<android.app.RemoteInput> remoteInputs);
method public android.content.Intent putSmartReplyContextExtra(android.content.Intent intent, java.util.List<? extends java.lang.CharSequence> smartReplyContext);
- method public android.content.Intent putTitleExtra(android.content.Intent intent, String title);
+ method public android.content.Intent putTitleExtra(android.content.Intent intent, CharSequence title);
}
public final class WearableButtons {
diff --git a/wear/wear-input/api/public_plus_experimental_current.txt b/wear/wear-input/api/public_plus_experimental_current.txt
index dc46d45..5909312 100644
--- a/wear/wear-input/api/public_plus_experimental_current.txt
+++ b/wear/wear-input/api/public_plus_experimental_current.txt
@@ -9,39 +9,39 @@
@RequiresApi(android.os.Build.VERSION_CODES.N) public final class RemoteInputIntentHelper {
method public static android.content.Intent createActionRemoteInputIntent();
- method public static String? getCancelLabelExtra(android.content.Intent intent);
- method public static String? getConfirmLabelExtra(android.content.Intent intent);
- method public static String? getInProgressLabelExtra(android.content.Intent intent);
+ method public static CharSequence? getCancelLabelExtra(android.content.Intent intent);
+ method public static CharSequence? getConfirmLabelExtra(android.content.Intent intent);
+ method public static CharSequence? getInProgressLabelExtra(android.content.Intent intent);
method public static java.util.List<android.app.RemoteInput>? getRemoteInputsExtra(android.content.Intent intent);
method public static java.util.List<java.lang.CharSequence>? getSmartReplyContextExtra(android.content.Intent intent);
- method public static String? getTitleExtra(android.content.Intent intent);
+ method public static CharSequence? getTitleExtra(android.content.Intent intent);
method public static boolean hasRemoteInputsExtra(android.content.Intent intent);
method public static boolean isActionRemoteInput(android.content.Intent intent);
- method public static android.content.Intent putCancelLabelExtra(android.content.Intent intent, String label);
- method public static android.content.Intent putConfirmLabelExtra(android.content.Intent intent, String label);
- method public static android.content.Intent putInProgressLabelExtra(android.content.Intent intent, String label);
+ method public static android.content.Intent putCancelLabelExtra(android.content.Intent intent, CharSequence label);
+ method public static android.content.Intent putConfirmLabelExtra(android.content.Intent intent, CharSequence label);
+ method public static android.content.Intent putInProgressLabelExtra(android.content.Intent intent, CharSequence label);
method public static android.content.Intent putRemoteInputsExtra(android.content.Intent intent, java.util.List<android.app.RemoteInput> remoteInputs);
method public static android.content.Intent putSmartReplyContextExtra(android.content.Intent intent, java.util.List<? extends java.lang.CharSequence> smartReplyContext);
- method public static android.content.Intent putTitleExtra(android.content.Intent intent, String title);
+ method public static android.content.Intent putTitleExtra(android.content.Intent intent, CharSequence title);
field public static final androidx.wear.input.RemoteInputIntentHelper.Companion Companion;
}
public static final class RemoteInputIntentHelper.Companion {
method public android.content.Intent createActionRemoteInputIntent();
- method public String? getCancelLabelExtra(android.content.Intent intent);
- method public String? getConfirmLabelExtra(android.content.Intent intent);
- method public String? getInProgressLabelExtra(android.content.Intent intent);
+ method public CharSequence? getCancelLabelExtra(android.content.Intent intent);
+ method public CharSequence? getConfirmLabelExtra(android.content.Intent intent);
+ method public CharSequence? getInProgressLabelExtra(android.content.Intent intent);
method public java.util.List<android.app.RemoteInput>? getRemoteInputsExtra(android.content.Intent intent);
method public java.util.List<java.lang.CharSequence>? getSmartReplyContextExtra(android.content.Intent intent);
- method public String? getTitleExtra(android.content.Intent intent);
+ method public CharSequence? getTitleExtra(android.content.Intent intent);
method public boolean hasRemoteInputsExtra(android.content.Intent intent);
method public boolean isActionRemoteInput(android.content.Intent intent);
- method public android.content.Intent putCancelLabelExtra(android.content.Intent intent, String label);
- method public android.content.Intent putConfirmLabelExtra(android.content.Intent intent, String label);
- method public android.content.Intent putInProgressLabelExtra(android.content.Intent intent, String label);
+ method public android.content.Intent putCancelLabelExtra(android.content.Intent intent, CharSequence label);
+ method public android.content.Intent putConfirmLabelExtra(android.content.Intent intent, CharSequence label);
+ method public android.content.Intent putInProgressLabelExtra(android.content.Intent intent, CharSequence label);
method public android.content.Intent putRemoteInputsExtra(android.content.Intent intent, java.util.List<android.app.RemoteInput> remoteInputs);
method public android.content.Intent putSmartReplyContextExtra(android.content.Intent intent, java.util.List<? extends java.lang.CharSequence> smartReplyContext);
- method public android.content.Intent putTitleExtra(android.content.Intent intent, String title);
+ method public android.content.Intent putTitleExtra(android.content.Intent intent, CharSequence title);
}
public final class WearableButtons {
diff --git a/wear/wear-input/api/restricted_current.txt b/wear/wear-input/api/restricted_current.txt
index dc46d45..5909312 100644
--- a/wear/wear-input/api/restricted_current.txt
+++ b/wear/wear-input/api/restricted_current.txt
@@ -9,39 +9,39 @@
@RequiresApi(android.os.Build.VERSION_CODES.N) public final class RemoteInputIntentHelper {
method public static android.content.Intent createActionRemoteInputIntent();
- method public static String? getCancelLabelExtra(android.content.Intent intent);
- method public static String? getConfirmLabelExtra(android.content.Intent intent);
- method public static String? getInProgressLabelExtra(android.content.Intent intent);
+ method public static CharSequence? getCancelLabelExtra(android.content.Intent intent);
+ method public static CharSequence? getConfirmLabelExtra(android.content.Intent intent);
+ method public static CharSequence? getInProgressLabelExtra(android.content.Intent intent);
method public static java.util.List<android.app.RemoteInput>? getRemoteInputsExtra(android.content.Intent intent);
method public static java.util.List<java.lang.CharSequence>? getSmartReplyContextExtra(android.content.Intent intent);
- method public static String? getTitleExtra(android.content.Intent intent);
+ method public static CharSequence? getTitleExtra(android.content.Intent intent);
method public static boolean hasRemoteInputsExtra(android.content.Intent intent);
method public static boolean isActionRemoteInput(android.content.Intent intent);
- method public static android.content.Intent putCancelLabelExtra(android.content.Intent intent, String label);
- method public static android.content.Intent putConfirmLabelExtra(android.content.Intent intent, String label);
- method public static android.content.Intent putInProgressLabelExtra(android.content.Intent intent, String label);
+ method public static android.content.Intent putCancelLabelExtra(android.content.Intent intent, CharSequence label);
+ method public static android.content.Intent putConfirmLabelExtra(android.content.Intent intent, CharSequence label);
+ method public static android.content.Intent putInProgressLabelExtra(android.content.Intent intent, CharSequence label);
method public static android.content.Intent putRemoteInputsExtra(android.content.Intent intent, java.util.List<android.app.RemoteInput> remoteInputs);
method public static android.content.Intent putSmartReplyContextExtra(android.content.Intent intent, java.util.List<? extends java.lang.CharSequence> smartReplyContext);
- method public static android.content.Intent putTitleExtra(android.content.Intent intent, String title);
+ method public static android.content.Intent putTitleExtra(android.content.Intent intent, CharSequence title);
field public static final androidx.wear.input.RemoteInputIntentHelper.Companion Companion;
}
public static final class RemoteInputIntentHelper.Companion {
method public android.content.Intent createActionRemoteInputIntent();
- method public String? getCancelLabelExtra(android.content.Intent intent);
- method public String? getConfirmLabelExtra(android.content.Intent intent);
- method public String? getInProgressLabelExtra(android.content.Intent intent);
+ method public CharSequence? getCancelLabelExtra(android.content.Intent intent);
+ method public CharSequence? getConfirmLabelExtra(android.content.Intent intent);
+ method public CharSequence? getInProgressLabelExtra(android.content.Intent intent);
method public java.util.List<android.app.RemoteInput>? getRemoteInputsExtra(android.content.Intent intent);
method public java.util.List<java.lang.CharSequence>? getSmartReplyContextExtra(android.content.Intent intent);
- method public String? getTitleExtra(android.content.Intent intent);
+ method public CharSequence? getTitleExtra(android.content.Intent intent);
method public boolean hasRemoteInputsExtra(android.content.Intent intent);
method public boolean isActionRemoteInput(android.content.Intent intent);
- method public android.content.Intent putCancelLabelExtra(android.content.Intent intent, String label);
- method public android.content.Intent putConfirmLabelExtra(android.content.Intent intent, String label);
- method public android.content.Intent putInProgressLabelExtra(android.content.Intent intent, String label);
+ method public android.content.Intent putCancelLabelExtra(android.content.Intent intent, CharSequence label);
+ method public android.content.Intent putConfirmLabelExtra(android.content.Intent intent, CharSequence label);
+ method public android.content.Intent putInProgressLabelExtra(android.content.Intent intent, CharSequence label);
method public android.content.Intent putRemoteInputsExtra(android.content.Intent intent, java.util.List<android.app.RemoteInput> remoteInputs);
method public android.content.Intent putSmartReplyContextExtra(android.content.Intent intent, java.util.List<? extends java.lang.CharSequence> smartReplyContext);
- method public android.content.Intent putTitleExtra(android.content.Intent intent, String title);
+ method public android.content.Intent putTitleExtra(android.content.Intent intent, CharSequence title);
}
public final class WearableButtons {
diff --git a/wear/wear-input/src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt b/wear/wear-input/src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt
index e1f6a54..42cd43d 100644
--- a/wear/wear-input/src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt
+++ b/wear/wear-input/src/main/java/androidx/wear/input/RemoteInputIntentHelper.kt
@@ -120,107 +120,109 @@
): Intent = intent.putExtra(EXTRA_REMOTE_INPUTS, ArrayList(remoteInputs))
/**
- * Returns the [String] from the given [Intent] that specifies what is displayed on top of
- * the confirmation screen to describe the action.
+ * Returns the [CharSequence] from the given [Intent] that specifies what is displayed on
+ * top of the confirmation screen to describe the action.
*
* @param intent The intent with given data.
- * @return The string previously added with [putTitleExtra] or null if no value is found.
+ * @return The CharSequence previously added with [putTitleExtra] or null if no value is
+ * found.
*/
@JvmStatic
@Nullable
- public fun getTitleExtra(intent: Intent): String? = intent.getStringExtra(EXTRA_TITLE)
+ public fun getTitleExtra(intent: Intent): CharSequence? =
+ intent.getCharSequenceExtra(EXTRA_TITLE)
/**
- * Adds the [String] to the given [Intent] that specifies what is displayed on top of
+ * Adds the [CharSequence] to the given [Intent] that specifies what is displayed on top of
* the confirmation screen to describe the action like "SMS" or "Email".
*
* @param intent The intent with given data.
- * @param title The string to be added.
+ * @param title The CharSequence to be added.
* @return The given intent.
*/
@JvmStatic
@NonNull
- public fun putTitleExtra(intent: Intent, title: String): Intent =
+ public fun putTitleExtra(intent: Intent, title: CharSequence): Intent =
intent.putExtra(EXTRA_TITLE, title)
/**
- * Returns the [String] from the given [Intent] that specifies what is displayed to
+ * Returns the [CharSequence] from the given [Intent] that specifies what is displayed to
* cancel the action.
*
* @param intent The intent with given data.
- * @return The string previously added with [putCancelLabelExtra] or null if no value is
- * found.
+ * @return The CharSequence previously added with [putCancelLabelExtra] or null if no value
+ * is found.
*/
@JvmStatic
@Nullable
- public fun getCancelLabelExtra(intent: Intent): String? =
- intent.getStringExtra(EXTRA_CANCEL_LABEL)
+ public fun getCancelLabelExtra(intent: Intent): CharSequence? =
+ intent.getCharSequenceExtra(EXTRA_CANCEL_LABEL)
/**
- * Adds the [String] to the given [Intent] that specifies what is displayed to cancel the
- * action. This is usually an imperative verb, like "Cancel". Defaults to Cancel.
+ * Adds the [CharSequence] to the given [Intent] that specifies what is displayed to cancel
+ * the action. This is usually an imperative verb, like "Cancel". Defaults to Cancel.
*
* @param intent The intent with given data.
- * @param label The string to be added.
+ * @param label The CharSequence to be added.
* @return The given intent.
*/
@JvmStatic
@NonNull
- public fun putCancelLabelExtra(intent: Intent, label: String): Intent =
+ public fun putCancelLabelExtra(intent: Intent, label: CharSequence): Intent =
intent.putExtra(EXTRA_CANCEL_LABEL, label)
/**
- * Returns the [String] from the given [Intent] that specifies what is displayed to
+ * Returns the [CharSequence] from the given [Intent] that specifies what is displayed to
* confirm that the action should be executed.
*
* @param intent The intent with given data.
- * @return The string previously added with [putConfirmLabelExtra] or null if no value is
- * found.
+ * @return The CharSequence previously added with [putConfirmLabelExtra] or null if no value
+ * is found.
*/
@JvmStatic
@Nullable
- public fun getConfirmLabelExtra(intent: Intent): String? =
- intent.getStringExtra(EXTRA_CONFIRM_LABEL)
+ public fun getConfirmLabelExtra(intent: Intent): CharSequence? =
+ intent.getCharSequenceExtra(EXTRA_CONFIRM_LABEL)
/**
- * Adds the [String] to the given [Intent] that specifies what is displayed to confirm that
- * the action should be executed. This is usually an imperative verb like "Send".
+ * Adds the [CharSequence] to the given [Intent] that specifies what is displayed to confirm
+ * that the action should be executed. This is usually an imperative verb like "Send".
* Defaults to "Send".
*
* @param intent The intent with given data.
- * @param label The string to be added.
+ * @param label The CharSequence to be added.
* @return The given intent.
*/
@JvmStatic
@NonNull
- public fun putConfirmLabelExtra(intent: Intent, label: String): Intent =
+ public fun putConfirmLabelExtra(intent: Intent, label: CharSequence): Intent =
intent.putExtra(EXTRA_CONFIRM_LABEL, label)
/**
- * Returns the [String] from the given [Intent] that specifies what is displayed while the
- * wearable is preparing to automatically execute the action.
+ * Returns the [CharSequence] from the given [Intent] that specifies what is displayed while
+ * the wearable is preparing to automatically execute the action.
*
* @param intent The intent with given data.
- * @return The string previously added with [putInProgressLabelExtra] or null if no
+ * @return The CharSequence previously added with [putInProgressLabelExtra] or null if no
* value is found.
*/
@JvmStatic
@Nullable
- public fun getInProgressLabelExtra(intent: Intent): String? =
- intent.getStringExtra(EXTRA_IN_PROGRESS_LABEL)
+ public fun getInProgressLabelExtra(intent: Intent): CharSequence? =
+ intent.getCharSequenceExtra(EXTRA_IN_PROGRESS_LABEL)
/**
- * Adds the [String] to the given [Intent] that specifies what is displayed while the
+ * Adds the [CharSequence] to the given [Intent] that specifies what is displayed while the
* wearable is preparing to automatically execute the action. This is usually a 'ing'
* verb ending in ellipsis like "Sending...". Defaults to "Sending...".
*
* @param intent The intent with given data.
- * @param label The string to be added.
+ * @param label The CharSequence to be added.
* @return The given intent.
*/
@JvmStatic
@NonNull
- public fun putInProgressLabelExtra(intent: Intent, label: String): Intent =
+ public fun putInProgressLabelExtra(intent: Intent, label: CharSequence): Intent =
intent.putExtra(EXTRA_IN_PROGRESS_LABEL, label)
/**