diff --git a/CHANGELOG.md b/CHANGELOG.md index d1a0382..d3143a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## [1.5.2] - 15th Mart 2024 + +* Removed unnecessary requestAuthorizationWithOptions for iOS, this plugin doesn't need it to show badges. This should be used only for remote push notification. + +## [1.5.1] - 2nd January 2024 + +* Fixed an issue with missing Gradle namespace and other related issues. +* Resolved an issue with the Java target SDK. +* Adjusted Dart SDK constraint to exclusively support Dart null-safety and Flutter null-safety versions. +* Corrected the usage of old Flutter embedding in the example app. +* Updated the wrapper to support the new Gradle version. + ## [1.5.0] - 16th September 2022 * PR #52 (Don't overwrite categories on iOS) diff --git a/android/build.gradle b/android/build.gradle index 150f685..af57bc0 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -8,7 +8,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.android.tools.build:gradle:7.3.1' } } @@ -22,18 +22,24 @@ rootProject.allprojects { apply plugin: 'com.android.library' android { - compileSdkVersion 29 + compileSdkVersion 33 defaultConfig { - minSdkVersion 16 + minSdkVersion 19 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } lintOptions { disable 'InvalidPackage' } + if (project.android.hasProperty('namespace')) { namespace 'fr.g123k.flutterappbadge.flutterappbadger' } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } dependencies { diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 6a3dcb8..94cbbcf 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,3 +1 @@ - - + diff --git a/android/src/main/java/fr/g123k/flutterappbadger/FlutterAppBadgerPlugin.java b/android/src/main/java/fr/g123k/flutterappbadger/FlutterAppBadgerPlugin.java index 18d1e47..659a169 100644 --- a/android/src/main/java/fr/g123k/flutterappbadger/FlutterAppBadgerPlugin.java +++ b/android/src/main/java/fr/g123k/flutterappbadger/FlutterAppBadgerPlugin.java @@ -2,6 +2,8 @@ import android.content.Context; +import androidx.annotation.NonNull; + import io.flutter.embedding.engine.plugins.FlutterPlugin; import io.flutter.plugin.common.MethodChannel; import io.flutter.plugin.common.MethodChannel.MethodCallHandler; @@ -30,23 +32,28 @@ public void onAttachedToEngine(FlutterPluginBinding flutterPluginBinding) { } @Override - public void onDetachedFromEngine(FlutterPluginBinding flutterPluginBinding) { + public void onDetachedFromEngine(@NonNull FlutterPluginBinding flutterPluginBinding) { channel.setMethodCallHandler(null); applicationContext = null; } @Override - public void onMethodCall(MethodCall call, Result result) { - if (call.method.equals("updateBadgeCount")) { - ShortcutBadger.applyCount(applicationContext, Integer.valueOf(call.argument("count").toString())); - result.success(null); - } else if (call.method.equals("removeBadge")) { - ShortcutBadger.removeCount(applicationContext); - result.success(null); - } else if (call.method.equals("isAppBadgeSupported")) { - result.success(ShortcutBadger.isBadgeCounterSupported(applicationContext)); - } else { - result.notImplemented(); + public void onMethodCall(MethodCall call, @NonNull Result result) { + switch (call.method) { + case "updateBadgeCount": + ShortcutBadger.applyCount(applicationContext, Integer.valueOf(call.argument("count").toString())); + result.success(null); + break; + case "removeBadge": + ShortcutBadger.removeCount(applicationContext); + result.success(null); + break; + case "isAppBadgeSupported": + result.success(ShortcutBadger.isBadgeCounterSupported(applicationContext)); + break; + default: + result.notImplemented(); + break; } } } diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 1f18553..3c5c4e0 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -15,7 +15,7 @@ apply plugin: 'com.android.application' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 29 + compileSdk = 33 lintOptions { disable 'InvalidPackage' @@ -24,8 +24,8 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "fr.g123k.flutterappbadger.flutterappbadgerexample" - minSdkVersion 16 - targetSdkVersion 29 + minSdkVersion flutter.minSdkVersion + targetSdkVersion 33 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -38,6 +38,11 @@ android { signingConfig signingConfigs.debug } } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } flutter { diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index 4ed4f4d..7a5ab2c 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -22,7 +22,8 @@ android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density" android:hardwareAccelerated="true" - android:windowSoftInputMode="adjustResize"> + android:windowSoftInputMode="adjustResize" + android:exported="true">