Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
# Conflicts:
#	flutter_local_notifications/pubspec.yaml
  • Loading branch information
remcoanker committed Jul 18, 2024
2 parents a145c8a + 49c487f commit 09b2117
Show file tree
Hide file tree
Showing 38 changed files with 1,707 additions and 655 deletions.
38 changes: 0 additions & 38 deletions .github/workflows/format.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/scripts/install-tools.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
dart pub global activate melos 2.9.0
dart pub global activate melos
melos bootstrap
93 changes: 81 additions & 12 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,49 @@ name: validate

on:
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- master
paths-ignore:
- '**.md'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
java_format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: axel-op/googlejavaformat-action@v3
with:
args: '--skip-sorting-imports --replace'

objc_format:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Test
run: |
which clang-format || brew install clang-format
find . -name '*.m' -exec clang-format -i {} \;
find . -path '*/ios/**/*.h' -exec clang-format -i {} \;
find . -path '*/macos/**/*.h' -exec clang-format -i {} \;
git diff --exit-code || (git commit --all -m "Clang Format" && git push)
swift_format:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Test
run: |
which swiftlint || brew install swiftlint
swiftlint --fix
git diff --exit-code || (git commit --all -m "Swift Format" && git push)
analyze:
name: Run Dart Analyzer
runs-on: ubuntu-latest
Expand Down Expand Up @@ -42,29 +76,44 @@ jobs:
run: ./.github/workflows/scripts/install-tools.sh
- name: Build
run: melos run build:example_android
build_example_android_300:
name: Build Android example app (3.0.0)
runs-on: ubuntu-latest
build_example_android_3_13:
name: Build Android example app (3.13)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.13.0
cache: true
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
- name: Install Tools
run: ./.github/workflows/scripts/install-tools.sh
- name: Build
run: melos run build:example_android
build_example_ios_stable:
name: Build iOS example app (stable channel)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: 3.0.0
channel: stable
cache: true
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
- name: Install Tools
run: ./.github/workflows/scripts/install-tools.sh
- name: Build
run: melos run build:example_android
build_example_ios_stable:
name: Build iOS example app (stable channel)
run: melos run build:example_ios
build_example_ios_3_13:
name: Build iOS example app (3.13)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.13.0
cache: true
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
- name: Install Tools
Expand All @@ -85,6 +134,21 @@ jobs:
run: ./.github/workflows/scripts/install-tools.sh
- name: Build
run: melos run build:example_macos
build_example_macos_3_13:
name: Build macOS example app (3.13)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.13.0
cache: true
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
- name: Install Tools
run: ./.github/workflows/scripts/install-tools.sh
- name: Build
run: melos run build:example_macos
build_example_linux_stable:
name: Build Linux example app (stable channel)
runs-on: ubuntu-latest
Expand All @@ -103,15 +167,15 @@ jobs:
- run: flutter config --enable-linux-desktop
- name: Build
run: melos run build:example_linux
build_example_linux_300:
name: Build Linux example app (3.0.0)
build_example_linux_3_13:
name: Build Linux example app (3.13)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: 3.0.0
channel: stable
flutter-version: 3.13.0
cache: true
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
- name: Install Tools
Expand Down Expand Up @@ -152,7 +216,7 @@ jobs:
run: melos run test:unit:android
integration_tests_android:
name: Run integration tests (Android)
runs-on: macos-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
Expand All @@ -166,6 +230,11 @@ jobs:
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
- name: Install Tools
run: ./.github/workflows/scripts/install-tools.sh
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 29
Expand All @@ -185,7 +254,7 @@ jobs:
- uses: futureware-tech/simulator-action@v3
id: simulator-action
with:
model: 'iPhone 13'
model: 'iPhone 15'
- run: |
brew tap wix/brew
brew install applesimutils
Expand Down
5 changes: 0 additions & 5 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ linter:
- always_declare_return_types
- always_put_control_body_on_new_line
- always_put_required_named_parameters_first
- always_require_non_null_named_parameters
- always_specify_types
- annotate_overrides
- avoid_annotating_with_dynamic
Expand All @@ -29,8 +28,6 @@ linter:
- avoid_relative_lib_imports
- avoid_renaming_method_parameters
- avoid_return_types_on_setters
- avoid_returning_null
- avoid_returning_null_for_future
- avoid_returning_null_for_void
- avoid_returning_this
- avoid_setters_without_getters
Expand Down Expand Up @@ -62,7 +59,6 @@ linter:
- flutter_style_todos
- hash_and_equals
- implementation_imports
- invariant_booleans
- collection_methods_unrelated_type
- join_return_with_assignment
- leading_newlines_in_multiline_strings
Expand Down Expand Up @@ -95,7 +91,6 @@ linter:
- prefer_const_literals_to_create_immutables
- prefer_constructors_over_static_methods
- prefer_contains
- prefer_equal_for_default_values
- prefer_expression_function_bodies
- prefer_final_fields
- prefer_final_in_for_each
Expand Down
56 changes: 56 additions & 0 deletions flutter_local_notifications/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,59 @@
## [vNext]

* **Breaking change** Bumped minimum Flutter SDK requirement to 3.13
* [Android] **Breaking change** removed the deprecated `androidAllowWhileIdle` parameter from `zonedSchedule()` and `periodicallyShow()` methods. `androidScheduleMode` is now a required parameter

## [17.2.1+2]

* Updated Gradle setup readme section around specifying AGP version to include link to Flutter documentation for apps that are using the declarative Plugin DSL syntax

## [17.2.1+1]

* Fixed accidental change done in example app as part of 17.2.0 where it made use of `SCHEDULE_EXACT_ALARM` permission instead of `USE_EXACT_ALARM`

## [17.2.1]

* [Android] fixed issue [#2329](https://github.com/MaikuB/flutter_local_notifications/issues/2329) where a compilation issue could occur due to ambiguity between Android APIs being called. Thanks to the PR from [Greg Price](https://github.com/gnprice)

## [17.2.0]

* [Android][iOS][macOS] added `periodicallyShowWithDuration()` method that allows for having a notification periodically shown based on a specified duration. The duration will need to be at least a minute. Thanks to the PR from [Mateusz Łuczak](https://github.com/mateuszluczak1996)
* [Android] added the `requestFullScreenIntentPermission()` to the `AndroidFlutterNotificationsPlugin` class. This allows app to request the full-screen intent permission. Updated the documentation around full-screen intent notifications accordingly as well
* Added a comment to the `AndroidManifest.xml` file of the example to state that it requests the `USE_EXACT_ALARM` only for ease of use. Developers will need to check if they should be using the `SCHEDULE_EXACT_ALARM` permission instead

## [17.1.2]

* [Android] fixed issue [2318](https://github.com/MaikuB/flutter_local_notifications/issues/2318) where an exception could occur on calling the `getNotificationChannels()` method from the `AndroidFlutterLocalNotificationsPlugin` class. This happened when Android found that the audio attributes associated with the channel was null. The plugin will now coalesce the null value to indicate that the usage of the audio is for notifications as per https://developer.android.com/reference/android/media/AudioAttributes#USAGE_NOTIFICATION. On the Dart side, this would correspond to the [AudioAttributesUsage.notification](https://pub.dev/documentation/flutter_local_notifications/latest/flutter_local_notifications/AudioAttributesUsage.html#notification) enum value

## [17.1.1]

* [Android] fixes issue [#2299](https://github.com/MaikuB/flutter_local_notifications/issues/2299) where within the range of the max integer value of epoch time passed to a messaging style would result in a casting exception

## [17.1.0]

* [Android] `bigText` has added to `ActiveNotification` that allows getting information about the longer text associated with a notification displayed using the big text style. Thanks to the PR from [vulpeep](https://github.com/vulpeep)
* [Android] added `audioAttributesUsage` to `AndroidNotificationChannel`. Thanks to the PR from [Dithesh](https://github.com/ditheshthegreat)
* Fix description of the behaviour iOS pending notifications limit. Thanks to the PR from [Amman Zaman](https://github.com/zamanzamzz)
* Updated link in readme to Gradle desugaring setup. Thanks to the PR from [James Allen](https://github.com/jamesncl)


# [17.0.1]

* [iOS] updated privacy manifest to declare reason the plugin uses the User Defaults API. Thanks to the PR from [Miya49-p0](https://github.com/Miya49-p0)

# [17.0.0]

* [Android] **Breaking change** bumped `compileSdk` to 34 and updated readme to mention this
* Updated `compileSdk` and `targetSdkVersion` of example app to 34
* **Important announcement** given how both quickly both Flutter ecosystem and Android ecosystem evolves, the minimum Flutter SDK version will be bumped to make it easier to maintain the plugin. Note that official plugins already follow a similar approach e.g. have a minimum Flutter SDK version of 3.13. This is being called out as if this affects your applications (e.g. supported OS versions) then you may need to consider maintaining your own fork in the future
* Updated build status badge shown on readme to sync to recent changes on using GitHub Actions
* Fixed code snippet in readme related to handling the `onDidReceiveLocalNotification` callback. Thanks to the PR from [Sanket Patel](https://github.com/s4nk37)

# [16.3.3]

* [Android] added missing check on if `SCHEDULE_EXACT_ALARM` permission was granted when using the `alarmClock` as the `AndroidScheduleMode`
* Bumped `device_info_plus` dependency for example app, which means example app requires Flutter SDK version 3.3.0 or higher to run

# [16.3.2]

* [Android] fixed how native stack traces were obtained. Relates to issue [2088](https://github.com/MaikuB/flutter_local_notifications/issues/2088). Thanks to the PR from [Jonas Uekötter](https://github.com/ueman)
Expand Down
Loading

0 comments on commit 09b2117

Please sign in to comment.