diff options
author | Justin Klaassen <justinklaassen@google.com> | 2018-04-15 00:41:15 -0400 |
---|---|---|
committer | Justin Klaassen <justinklaassen@google.com> | 2018-04-15 00:41:15 -0400 |
commit | b8042fc9b036db0a6692ca853428fc6ab1e60892 (patch) | |
tree | 82669ea5d75238758e22d379a42baeada526219e /android/app/NotificationManager.java | |
parent | 4d01eeaffaa720e4458a118baa137a11614f00f7 (diff) | |
download | android-28-androidx-preference-release.tar.gz |
Import Android SDK Platform P [4719250]HEADmastermainandroidx-work-releaseandroidx-webkit-releaseandroidx-viewpager2-releaseandroidx-versionedparcelable-releaseandroidx-vectordrawable-releaseandroidx-transition-releaseandroidx-sqlite-releaseandroidx-sharetarget-releaseandroidx-security-security-crypto-releaseandroidx-savedstate-releaseandroidx-room-releaseandroidx-recyclerview-releaseandroidx-recyclerview-recyclerview-selection-releaseandroidx-preference-releaseandroidx-paging-releaseandroidx-paging-legacy-releaseandroidx-navigation-releaseandroidx-mediarouter-releaseandroidx-media2-releaseandroidx-media2-media2-widget-releaseandroidx-media-releaseandroidx-master-releaseandroidx-localbroadcastmanager-releaseandroidx-loader-releaseandroidx-lifecycle-releaseandroidx-jetifier-releaseandroidx-g3-releaseandroidx-fragment-releaseandroidx-exifinterface-releaseandroidx-enterprise-releaseandroidx-core-releaseandroidx-core-core-role-releaseandroidx-coordinatorlayout-releaseandroidx-concurrent-releaseandroidx-compose-releaseandroidx-collection-releaseandroidx-camerax-releaseandroidx-browser-releaseandroidx-biometric-releaseandroidx-benchmark-releaseandroidx-autofill-releaseandroidx-arch-core-releaseandroidx-appcompat-releaseandroidx-annotation-releaseandroidx-annotation-annotation-experimental-releaseandroidx-activity-releaseandroid-arch-work-releaseandroid-arch-navigation-release
/google/data/ro/projects/android/fetch_artifact \
--bid 4719250 \
--target sdk_phone_armv7-win_sdk \
sdk-repo-linux-sources-4719250.zip
AndroidVersion.ApiLevel has been modified to appear as 28
Change-Id: I9ec0a12c9251b8449dba0d86b0cfdbcca16b0a7c
Diffstat (limited to 'android/app/NotificationManager.java')
-rw-r--r-- | android/app/NotificationManager.java | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/android/app/NotificationManager.java b/android/app/NotificationManager.java index 46d1264f..757fc643 100644 --- a/android/app/NotificationManager.java +++ b/android/app/NotificationManager.java @@ -1145,6 +1145,21 @@ public class NotificationManager { SUPPRESSED_EFFECT_NOTIFICATION_LIST }; + private static final int[] SCREEN_OFF_SUPPRESSED_EFFECTS = { + SUPPRESSED_EFFECT_SCREEN_OFF, + SUPPRESSED_EFFECT_FULL_SCREEN_INTENT, + SUPPRESSED_EFFECT_LIGHTS, + SUPPRESSED_EFFECT_AMBIENT, + }; + + private static final int[] SCREEN_ON_SUPPRESSED_EFFECTS = { + SUPPRESSED_EFFECT_SCREEN_ON, + SUPPRESSED_EFFECT_PEEK, + SUPPRESSED_EFFECT_STATUS_BAR, + SUPPRESSED_EFFECT_BADGE, + SUPPRESSED_EFFECT_NOTIFICATION_LIST + }; + /** * Visual effects to suppress for a notification that is filtered by Do Not Disturb mode. * Bitmask of SUPPRESSED_EFFECT_* constants. @@ -1297,6 +1312,58 @@ public class NotificationManager { return true; } + /** + * @hide + */ + public static boolean areAnyScreenOffEffectsSuppressed(int effects) { + for (int i = 0; i < SCREEN_OFF_SUPPRESSED_EFFECTS.length; i++) { + final int effect = SCREEN_OFF_SUPPRESSED_EFFECTS[i]; + if ((effects & effect) != 0) { + return true; + } + } + return false; + } + + /** + * @hide + */ + public static boolean areAnyScreenOnEffectsSuppressed(int effects) { + for (int i = 0; i < SCREEN_ON_SUPPRESSED_EFFECTS.length; i++) { + final int effect = SCREEN_ON_SUPPRESSED_EFFECTS[i]; + if ((effects & effect) != 0) { + return true; + } + } + return false; + } + + /** + * @hide + */ + public static int toggleScreenOffEffectsSuppressed(int currentEffects, boolean suppress) { + return toggleEffects(currentEffects, SCREEN_OFF_SUPPRESSED_EFFECTS, suppress); + } + + /** + * @hide + */ + public static int toggleScreenOnEffectsSuppressed(int currentEffects, boolean suppress) { + return toggleEffects(currentEffects, SCREEN_ON_SUPPRESSED_EFFECTS, suppress); + } + + private static int toggleEffects(int currentEffects, int[] effects, boolean suppress) { + for (int i = 0; i < effects.length; i++) { + final int effect = effects[i]; + if (suppress) { + currentEffects |= effect; + } else { + currentEffects &= ~effect; + } + } + return currentEffects; + } + public static String suppressedEffectsToString(int effects) { if (effects <= 0) return ""; final StringBuilder sb = new StringBuilder(); |