diff options
| -rw-r--r-- | api/current.txt | 4 | ||||
| -rw-r--r-- | api/system-current.txt | 4 | ||||
| -rw-r--r-- | api/test-current.txt | 4 | ||||
| -rw-r--r-- | core/java/android/app/Notification.java | 49 |
4 files changed, 61 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index 18388b2d3a7c..57b1177954b1 100644 --- a/api/current.txt +++ b/api/current.txt @@ -5026,11 +5026,13 @@ 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 getHintContentIntentLaunchesActivity(); 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 setHintContentIntentLaunchesActivity(boolean); method public android.app.Notification.Action.WearableExtender setInProgressLabel(java.lang.CharSequence); } @@ -5207,6 +5209,7 @@ package android.app { method public android.app.PendingIntent getDisplayIntent(); method public int getGravity(); method public boolean getHintAvoidBackgroundClipping(); + method public boolean getHintContentIntentLaunchesActivity(); method public boolean getHintHideIcon(); method public int getHintScreenTimeout(); method public boolean getHintShowBackgroundOnly(); @@ -5222,6 +5225,7 @@ package android.app { method public android.app.Notification.WearableExtender setDisplayIntent(android.app.PendingIntent); method public android.app.Notification.WearableExtender setGravity(int); method public android.app.Notification.WearableExtender setHintAvoidBackgroundClipping(boolean); + method public android.app.Notification.WearableExtender setHintContentIntentLaunchesActivity(boolean); method public android.app.Notification.WearableExtender setHintHideIcon(boolean); method public android.app.Notification.WearableExtender setHintScreenTimeout(int); method public android.app.Notification.WearableExtender setHintShowBackgroundOnly(boolean); diff --git a/api/system-current.txt b/api/system-current.txt index 051ed04fcdbc..32078dbcf041 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5159,11 +5159,13 @@ 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 getHintContentIntentLaunchesActivity(); 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 setHintContentIntentLaunchesActivity(boolean); method public android.app.Notification.Action.WearableExtender setInProgressLabel(java.lang.CharSequence); } @@ -5340,6 +5342,7 @@ package android.app { method public android.app.PendingIntent getDisplayIntent(); method public int getGravity(); method public boolean getHintAvoidBackgroundClipping(); + method public boolean getHintContentIntentLaunchesActivity(); method public boolean getHintHideIcon(); method public int getHintScreenTimeout(); method public boolean getHintShowBackgroundOnly(); @@ -5355,6 +5358,7 @@ package android.app { method public android.app.Notification.WearableExtender setDisplayIntent(android.app.PendingIntent); method public android.app.Notification.WearableExtender setGravity(int); method public android.app.Notification.WearableExtender setHintAvoidBackgroundClipping(boolean); + method public android.app.Notification.WearableExtender setHintContentIntentLaunchesActivity(boolean); method public android.app.Notification.WearableExtender setHintHideIcon(boolean); method public android.app.Notification.WearableExtender setHintScreenTimeout(int); method public android.app.Notification.WearableExtender setHintShowBackgroundOnly(boolean); diff --git a/api/test-current.txt b/api/test-current.txt index fe7b4d38a9e8..886eca70f285 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -5026,11 +5026,13 @@ 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 getHintContentIntentLaunchesActivity(); 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 setHintContentIntentLaunchesActivity(boolean); method public android.app.Notification.Action.WearableExtender setInProgressLabel(java.lang.CharSequence); } @@ -5207,6 +5209,7 @@ package android.app { method public android.app.PendingIntent getDisplayIntent(); method public int getGravity(); method public boolean getHintAvoidBackgroundClipping(); + method public boolean getHintContentIntentLaunchesActivity(); method public boolean getHintHideIcon(); method public int getHintScreenTimeout(); method public boolean getHintShowBackgroundOnly(); @@ -5222,6 +5225,7 @@ package android.app { method public android.app.Notification.WearableExtender setDisplayIntent(android.app.PendingIntent); method public android.app.Notification.WearableExtender setGravity(int); method public android.app.Notification.WearableExtender setHintAvoidBackgroundClipping(boolean); + method public android.app.Notification.WearableExtender setHintContentIntentLaunchesActivity(boolean); method public android.app.Notification.WearableExtender setHintHideIcon(boolean); method public android.app.Notification.WearableExtender setHintScreenTimeout(int); method public android.app.Notification.WearableExtender setHintShowBackgroundOnly(boolean); diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 8423de882782..25194d416d71 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -1205,6 +1205,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; // Default value for flags integer private static final int DEFAULT_FLAGS = FLAG_AVAILABLE_OFFLINE; @@ -1367,6 +1368,30 @@ public class Notification implements Parcelable public CharSequence getCancelLabel() { return mCancelLabel; } + + /** + * Set a hint that this Action will launch an {@link Activity} directly, telling the + * platform that it can generate the appropriate transitions. + * @param hintLaunchesActivity {@code true} if the content intent will launch + * an activity and transitions should be generated, false otherwise. + * @return this object for method chaining + */ + public WearableExtender setHintContentIntentLaunchesActivity( + boolean hintLaunchesActivity) { + setFlag(FLAG_HINT_LAUNCHES_ACTIVITY, hintLaunchesActivity); + return this; + } + + /** + * Get a hint that this Action will launch an {@link Activity} directly, telling the + * platform that it can generate the appropriate transitions + * @return {@code true} if the content intent will launch an activity and transitions + * should be generated, false otherwise. The default value is {@code false} if this was + * never set. + */ + public boolean getHintContentIntentLaunchesActivity() { + return (mFlags & FLAG_HINT_LAUNCHES_ACTIVITY) != 0; + } } } @@ -4863,6 +4888,7 @@ public class Notification implements Parcelable private static final int FLAG_HINT_SHOW_BACKGROUND_ONLY = 1 << 2; private static final int FLAG_START_SCROLL_BOTTOM = 1 << 3; private static final int FLAG_HINT_AVOID_BACKGROUND_CLIPPING = 1 << 4; + private static final int FLAG_HINT_CONTENT_INTENT_LAUNCHES_ACTIVITY = 1 << 6; // Default value for flags integer private static final int DEFAULT_FLAGS = FLAG_CONTENT_INTENT_AVAILABLE_OFFLINE; @@ -5429,6 +5455,29 @@ public class Notification implements Parcelable return mHintScreenTimeout; } + /** + * Set a hint that this notification's content intent will launch an {@link Activity} + * directly, telling the platform that it can generate the appropriate transitions. + * @param hintContentIntentLaunchesActivity {@code true} if the content intent will launch + * an activity and transitions should be generated, false otherwise. + * @return this object for method chaining + */ + public WearableExtender setHintContentIntentLaunchesActivity( + boolean hintContentIntentLaunchesActivity) { + setFlag(FLAG_HINT_CONTENT_INTENT_LAUNCHES_ACTIVITY, hintContentIntentLaunchesActivity); + return this; + } + + /** + * Get a hint that this notification's content intent will launch an {@link Activity} + * directly, telling the platform that it can generate the appropriate transitions + * @return {@code true} if the content intent will launch an activity and transitions should + * be generated, false otherwise. The default value is {@code false} if this was never set. + */ + public boolean getHintContentIntentLaunchesActivity() { + return (mFlags & FLAG_HINT_CONTENT_INTENT_LAUNCHES_ACTIVITY) != 0; + } + private void setFlag(int mask, boolean value) { if (value) { mFlags |= mask; |