From 9f08761f08925bc4978a45c2c8f8e224c14c3336 Mon Sep 17 00:00:00 2001 From: Alex Hills Date: Tue, 7 Jun 2016 09:08:59 -0400 Subject: [PATCH] Adds a flag to Action.WearableExtender to display actions inline on Wear Bug:28909490 Change-Id: I124bdd0a91ed7d78c527988e390b823dcbd1b85f --- api/current.txt | 2 ++ api/system-current.txt | 2 ++ api/test-current.txt | 2 ++ core/java/android/app/Notification.java | 24 ++++++++++++++++++++++++ 4 files changed, 30 insertions(+) diff --git a/api/current.txt b/api/current.txt index 64eff6b5daf55..9165dc9e54c00 100644 --- a/api/current.txt +++ b/api/current.txt @@ -5049,12 +5049,14 @@ package android.app { method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder); method public java.lang.CharSequence getCancelLabel(); method public java.lang.CharSequence getConfirmLabel(); + method public boolean getHintDisplayActionInline(); method public boolean getHintLaunchesActivity(); method public java.lang.CharSequence getInProgressLabel(); method public boolean isAvailableOffline(); method public android.app.Notification.Action.WearableExtender setAvailableOffline(boolean); method public android.app.Notification.Action.WearableExtender setCancelLabel(java.lang.CharSequence); method public android.app.Notification.Action.WearableExtender setConfirmLabel(java.lang.CharSequence); + method public android.app.Notification.Action.WearableExtender setHintDisplayActionInline(boolean); method public android.app.Notification.Action.WearableExtender setHintLaunchesActivity(boolean); method public android.app.Notification.Action.WearableExtender setInProgressLabel(java.lang.CharSequence); } diff --git a/api/system-current.txt b/api/system-current.txt index bdf8299ba54eb..88ee188c2d9ae 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5196,12 +5196,14 @@ package android.app { method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder); method public java.lang.CharSequence getCancelLabel(); method public java.lang.CharSequence getConfirmLabel(); + method public boolean getHintDisplayActionInline(); method public boolean getHintLaunchesActivity(); method public java.lang.CharSequence getInProgressLabel(); method public boolean isAvailableOffline(); method public android.app.Notification.Action.WearableExtender setAvailableOffline(boolean); method public android.app.Notification.Action.WearableExtender setCancelLabel(java.lang.CharSequence); method public android.app.Notification.Action.WearableExtender setConfirmLabel(java.lang.CharSequence); + method public android.app.Notification.Action.WearableExtender setHintDisplayActionInline(boolean); method public android.app.Notification.Action.WearableExtender setHintLaunchesActivity(boolean); method public android.app.Notification.Action.WearableExtender setInProgressLabel(java.lang.CharSequence); } diff --git a/api/test-current.txt b/api/test-current.txt index 93b73686ef64a..69ce624927663 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -5050,12 +5050,14 @@ package android.app { method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder); method public java.lang.CharSequence getCancelLabel(); method public java.lang.CharSequence getConfirmLabel(); + method public boolean getHintDisplayActionInline(); method public boolean getHintLaunchesActivity(); method public java.lang.CharSequence getInProgressLabel(); method public boolean isAvailableOffline(); method public android.app.Notification.Action.WearableExtender setAvailableOffline(boolean); method public android.app.Notification.Action.WearableExtender setCancelLabel(java.lang.CharSequence); method public android.app.Notification.Action.WearableExtender setConfirmLabel(java.lang.CharSequence); + method public android.app.Notification.Action.WearableExtender setHintDisplayActionInline(boolean); method public android.app.Notification.Action.WearableExtender setHintLaunchesActivity(boolean); method public android.app.Notification.Action.WearableExtender setInProgressLabel(java.lang.CharSequence); } diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 83a20668b3b49..ccbba1eb69c75 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -1294,6 +1294,7 @@ public class Notification implements Parcelable // Flags bitwise-ored to mFlags private static final int FLAG_AVAILABLE_OFFLINE = 0x1; private static final int FLAG_HINT_LAUNCHES_ACTIVITY = 1 << 1; + private static final int FLAG_HINT_DISPLAY_INLINE = 1 << 2; // Default value for flags integer private static final int DEFAULT_FLAGS = FLAG_AVAILABLE_OFFLINE; @@ -1480,6 +1481,29 @@ public class Notification implements Parcelable public boolean getHintLaunchesActivity() { return (mFlags & FLAG_HINT_LAUNCHES_ACTIVITY) != 0; } + + /** + * Set a hint that this Action should be displayed inline. + * + * @param hintDisplayInline {@code true} if action should be displayed inline, false + * otherwise + * @return this object for method chaining + */ + public WearableExtender setHintDisplayActionInline( + boolean hintDisplayInline) { + setFlag(FLAG_HINT_DISPLAY_INLINE, hintDisplayInline); + return this; + } + + /** + * Get a hint that this Action should be displayed inline. + * + * @return {@code true} if the Action should be displayed inline, {@code false} + * otherwise. The default value is {@code false} if this was never set. + */ + public boolean getHintDisplayActionInline() { + return (mFlags & FLAG_HINT_DISPLAY_INLINE) != 0; + } } }