Bot releases are hidden (Show)
Published by MaikuB over 1 year ago
AndroidFlutterLocalNotificationsPlugin
APIs around scheduling notifications where the allowWhileIdle
has been removed and replaced by a scheduleMode
parameter that allows for scheduling inexact notificationsAndroidScheduleMode
enum but the exact alarm permissions had been revoked, an error log message will be written and notification will no longer be scheduled. This means recurring notifications would no longer be scheduled as well given the permission had been revokedPublished by MaikuB over 1 year ago
id
property of the ActiveNotification
class is now nullable to help indicate that the notification may not have been created by the plugin e.g. it was from Firebase Cloud Messaging. Thanks to the PR from frankvollebregt
AndroidNotificationCategory
AndroidServiceForegroundType
AndroidServiceStartType
AudioAttributesUsage
Day
InterruptionLevel
LinuxNotificationCategory
LinuxNotificationUrgency
Priority
AndroidScheduleMode
to allow for configuring this if required. The androidAllowWhileIdle
argument is now deprecated when using the APIs available for scheduling notifications via the FlutterLocalNotificationsPlugin
APIs and will be removed in the future. Thanks to the PR from Joachim Böhmer. Note that if if a notification was scheduled with exact timing via the AndroidScheduleMode
but the exact alarm permissions had been revoked, an error log message will be written and notification will no longer be scheduled. Do note that the androidScheduleMode
parameter has a default value of AndroidScheduleMode.exact
to align with what was the default value of androidAllowWhileIdle
before (i.e. false
) where that meant exact timing was to be used but the device being a low-powered idle may cause it to be delayed. When the androidAllowWhileIdle
parameter is removed in the future, androidScheduleMode
will become a required named parameter to ensure developers explicitly specify the value they want
androidAllowWhileIdle
is deprecated via the FlutterLocalNotificationsPlugin
APIs, allowWhileIdle
has been removed and completely replaced by a scheduleMode
parameter when whe directly using the AndroidFlutterLocalNotificationsPlugin
APIszonedSchedule()
with a date/time value that is exactly when daylight savings occurs and the APIs from Apple weren't able to resolve what the actual date/time is meant to beAndroidServiceForegroundType
values to align with new additions that are part of Android 14. Thanks to the PR from Rexios
mockito
dev dependencyIOS
as part of the name instead of the newer classes that have the Darwin
prefixPublished by MaikuB over 1 year ago
Published by MaikuB over 1 year ago
AndroidNotificationCategory
AndroidServiceForegroundType
AndroidServiceStartType
AudioAttributesUsage
Day
InterruptionLevel
LinuxNotificationCategory
LinuxNotificationUrgency
Priority
zonedSchedule()
with a date/time value that is exactly when daylight savings occurs and the APIs from Apple weren't able to resolve what the actual date/time is meant to beAndroidServiceForegroundType
values to align with new additions that are part of Android 14. Thanks to the PR from Rexios
mockito
dev dependencyPublished by MaikuB over 1 year ago
id
property of the ActiveNotification
class is now nullable to help indicate that the notification may not have been created by the plugin e.g. it was from Firebase Cloud Messaging. Thanks to the PR from frankvollebregt
Published by MaikuB over 1 year ago
AndroidScheduleMode
to allow for configuring this if required. The androidAllowWhileIdle
argument is now deprecated and will be removed in the future. Thanks to the PR from Joachim Böhmer
IOS
as part of the name instead of the newer classes that have the Darwin
prefixPublished by MaikuB almost 2 years ago
flutter_local_notifications_linux
2.0.0 as ffi
2.0.0 requires Dart 2.17 at a minimum and that shipped with Flutter 3.0.0ffi
dependency that Linux implementation of the plugin was already using@mipmap/ic_launcher
resource requires additional release build configuration. Thanks to the PR from Daniel Arndt
dependencies {
implementation 'androidx.window:window:1.0.0'
implementation 'androidx.window:window-java:1.0.0'
...
}
Published by MaikuB almost 2 years ago
java.lang.ClassCastException
may be thrown on some Android devices when the onDidReceiveBackgroundNotificationResponse
has been specified when calling initialize()
Published by MaikuB almost 2 years ago
Published by MaikuB almost 2 years ago
Published by MaikuB about 2 years ago
Published by MaikuB about 2 years ago
timezone
package should be added as a direct dependency according to this official lint rule
flutter_local_notification_linux
that was meant to be done in 12.0.0Published by MaikuB about 2 years ago
onDidReceiveBackgroundNotificationResponse
optional callback hasn't been specified.Published by MaikuB about 2 years ago
dbus
dependency via flutter_local_notifications_linux
Published by MaikuB about 2 years ago
getParcelableExtra
Intent APIStreamController
instead to minimise use of dependencies and removed unused shared_preferences
dependencyPublished by MaikuB about 2 years ago
timezone
dependency. To err on the safe when it comes to dependency version conflicts, this is being published as major release as the updated timezone
package was published as a major release. Thanks to the PR from Joachim Nohl
Published by MaikuB about 2 years ago
zonedSchedule()
's implementation has switched to using desugaring instead of the ThreeTen Android Backport library. This required the plugin to update to using Android Gradle plugin 4.2.2 and applications may need to bump their Android Gradle plugin dependency to at least 4.2.2 as a result. Added a "Gradle setup" section underneath "Android setup" with details on the extra setup neededPlatformException
s that can occur on Android have been updated
INVALID_ICON
-> invalid_icon
INVALID_LARGE_ICON
-> invalid_large_icon
INVALID_BIG_PICTURE
-> invalid_big_picture
INVALID_SOUND
-> invalid_sound
INVALID_LED_DETAILS
-> invalid_led_details
GET_ACTIVE_NOTIFICATIONS_ERROR_CODE
-> unsupported_os_version
GET_NOTIFICATION_CHANNELS_ERROR_CODE
-> getNotificationChannelsError
GET_ACTIVE_NOTIFICATION_MESSAGING_STYLE_ERROR_CODE
-> getActiveNotificationMessagingStyle
PERMISSION_REQUEST_IN_PROGRESS
-> permissionRequestInProgress
category
of the AndroidNotificationDetails
now requires an instance of the newly added AndroidNotificationCategory
class instead of a string. This was to improve the discoverability of the APIs and improve the semantics as the category can specified in a similar fashion to using an enum valueNotificationResponse
class
onDidReceiveNotificationResponse
: invoked only when the app is running. This works for when a user has selected a notification or notification action. This replaces the onSelectNotification
callback that existed before. For notification actions, the action needs to be configured to indicate the the app or user interface should be shown on invoking the action for this callback to be invoked i.e. by specifying the DarwinNotificationActionOption.foreground
option on iOS and the showsUserInterface
property on Android. On macOS and Linux, as there's no support for background isolates it will always invoke this callbackonDidReceiveBackgroundNotificationResponse
: invoked on a background isolate for when a user has selected a notification action. This replaces the onSelectNotificationAction
callbackNotificationAppLaunchDetails
has been updated to contain an instance NotificationResponse
class with the payload
belonging to the NotificationResponse
class. This is to allow knowing more details about what caused the app to launch e.g. if a notification action was used to do soIOS
or MacOS
, these are now replaced by classes with a Darwin
prefix. For example, IOSInitializationSettings
can be replaced with DarwinInitializationSettings
requestPermissions()
method of the MacOSFlutterLocalNotificationsPlugin
class now only accepts non-nullable parameters that default to false
. This makes it consistent with the iOS implementation of the pluginLinuxNotificationCategory
no longer has factory constructors but has static constant fields instead to make the semantics more similar to access enum valuespendingNotificationRequests
method may not report the correct number of scheduled notifications if it is invoked before the data had been saved to shared preferencesgetActiveNotifications()
is now supported for iOS versions 10.0 or newergetActiveNotifications()
is now supported for macOS versions 10.14 or newerflutter_local_notifications_linux
's dependencies (dbus
)0
compileSdkVersion
Published by MaikuB about 2 years ago
onDidReceiveBackgroundNotificationResponse
callback with the @pragma('vm:entry-point')
annotation as well. The example and docs have been updated to remove usages of the IsolateNameServer
APIs due to issues in release builds. If anyone knows how to get these working then please submit a PRPublished by MaikuB about 2 years ago
flutter_local_notifications_linux
's dependencies (dbus
)Published by MaikuB about 2 years ago