Package org.robolectric.shadows
Class ShadowNotificationManager
java.lang.Object
org.robolectric.shadows.ShadowNotificationManager
@Implements(value=android.app.NotificationManager.class,
looseSignatures=true)
public class ShadowNotificationManager
extends Object
Shadows for NotificationManager.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected StringaddAutomaticZenRule(AutomaticZenRule automaticZenRule) protected booleanprotected voidcancel(int id) protected voidprotected voidprotected booleancanNotifyAsPackage(String pkg) protected voidcreateNotificationChannel(Object channel) protected voidprotected voidcreateNotificationChannelGroups(List<Object> groupList) protected voidcreateNotificationChannels(List<Object> channelList) protected voiddeleteNotificationChannel(String channelId) protected voiddeleteNotificationChannelGroup(String channelGroupId) Delete a notification channel group and all notification channels associated with the group.protected AutomaticZenRuleprotected Map<String,AutomaticZenRule> protected intprotected intgetNotification(int id) getNotification(String tag, int id) protected ObjectgetNotificationChannel(String channelId) protected NotificationChannelgetNotificationChannel(String channelId, String conversationId) Returns a NotificationChannel that has the given parent and conversation ID.protected Stringprotected NotificationManager.PolicybooleanisChannelDeleted(String channelId) Checks whether a channel is considered a "deleted" channel by Android.protected booleanisNotificationListenerAccessGranted(ComponentName componentName) protected booleanprotected voidnotify(int id, Notification notification) protected voidnotify(String tag, int id, Notification notification) protected booleanvoidsetCanNotifyAsPackage(String otherPackage, boolean canNotify) Sets notification delegate for the package provided.voidsetEnforceMaxNotificationLimit(boolean enforceMaxNotificationLimit) Ensures a notification limit is applied before posting the notification.voidsetImportance(int importance) protected voidsetInterruptionFilter(int interruptionFilter) Currently does not support checking for granted policy access.protected voidsetNotificationDelegate(String delegate) voidsetNotificationListenerAccessGranted(ComponentName componentName, boolean granted) Sets the value returned byNotificationManager.isNotificationListenerAccessGranted(ComponentName)for the providedComponentName.protected voidCurrently does not support checking for granted policy access.voidsetNotificationPolicyAccessGranted(boolean granted) Sets the value returned byNotificationManager.isNotificationPolicyAccessGranted().voidsetNotificationsEnabled(boolean areNotificationsEnabled) intsize()protected booleanupdateAutomaticZenRule(String id, AutomaticZenRule automaticZenRule)
-
Constructor Details
-
ShadowNotificationManager
public ShadowNotificationManager()
-
-
Method Details
-
notify
-
notify
-
cancel
-
cancel
-
cancelAll
-
areNotificationsEnabled
-
setNotificationsEnabled
public void setNotificationsEnabled(boolean areNotificationsEnabled) -
getImportance
-
setImportance
public void setImportance(int importance) -
getActiveNotifications
-
getNotificationChannel
-
getNotificationChannel
@Implementation(minSdk=30) protected NotificationChannel getNotificationChannel(String channelId, String conversationId) Returns a NotificationChannel that has the given parent and conversation ID. -
createNotificationChannelGroup
-
createNotificationChannelGroups
-
getNotificationChannelGroups
-
createNotificationChannel
-
createNotificationChannels
-
getNotificationChannels
-
deleteNotificationChannel
-
deleteNotificationChannelGroup
Delete a notification channel group and all notification channels associated with the group. This method will not notify any NotificationListenerService of resulting changes to notification channel groups nor to notification channels. -
getCurrentInterruptionFilter
- Returns:
NotificationManager.INTERRUPTION_FILTER_ALLby default, or the value specified viasetInterruptionFilter(int)
-
setInterruptionFilter
Currently does not support checking for granted policy access. -
getNotificationPolicy
- Returns:
- the value specified via
setNotificationPolicy(Policy)
-
isNotificationPolicyAccessGranted
- Returns:
- the value specified via
setNotificationPolicyAccessGranted(boolean)
-
isNotificationListenerAccessGranted
@Implementation(minSdk=27) protected boolean isNotificationListenerAccessGranted(ComponentName componentName) - Returns:
- the value specified for the given
ComponentNameviasetNotificationListenerAccessGranted(ComponentName, boolean)or false if unset.
-
setNotificationPolicy
Currently does not support checking for granted policy access. -
setNotificationPolicyAccessGranted
public void setNotificationPolicyAccessGranted(boolean granted) Sets the value returned byNotificationManager.isNotificationPolicyAccessGranted(). Ifgrantedis false, this also deletes allAutomaticZenRules. -
setNotificationListenerAccessGranted
@Implementation(minSdk=27) public void setNotificationListenerAccessGranted(ComponentName componentName, boolean granted) Sets the value returned byNotificationManager.isNotificationListenerAccessGranted(ComponentName)for the providedComponentName. -
getAutomaticZenRule
-
getAutomaticZenRules
-
addAutomaticZenRule
-
updateAutomaticZenRule
@Implementation(minSdk=24) protected boolean updateAutomaticZenRule(String id, AutomaticZenRule automaticZenRule) -
removeAutomaticZenRule
-
getNotificationDelegate
-
canNotifyAsPackage
-
setCanNotifyAsPackage
Sets notification delegate for the package provided.canNotifyAsPackage(String)will be returned based on this value.- Parameters:
otherPackage- the package for which the current package can notify on behalfcanNotify- whether the current package is set as notification delegate for 'otherPackage'
-
setNotificationDelegate
-
setEnforceMaxNotificationLimit
public void setEnforceMaxNotificationLimit(boolean enforceMaxNotificationLimit) Ensures a notification limit is applied before posting the notification.When set to true a maximum notification limit of 25 is applied. Notifications past this limit are dropped and are not posted or enqueued.
When set to false no limit is applied and all notifications are posted or enqueued. This is the default behavior.
-
isChannelDeleted
Checks whether a channel is considered a "deleted" channel by Android. This is a channel that was created but later deleted. If a channel is created that was deleted before, it recreates the channel with the old settings. -
getNotificationChannelGroup
-
size
public int size() -
getNotification
-
getNotification
-
getAllNotifications
-