dynamic_app_icon_flutter_plus 2.1.0
dynamic_app_icon_flutter_plus: ^2.1.0 copied to clipboard
Dynamic App Icon for Flutter enables Flutter apps to change their launcher icon at runtime, ideal for branding updates, seasonal themes, and feature-based icon switching.
2.1.0 #
- Android: Added an opt-in deferred icon swap to avoid the "kick to home" some OEM launchers (MIUI, EMUI, OneUI, ColorOS) trigger when
setComponentEnabledSettingruns while the app is foregrounded.setAlternateIconNamegains adeferUntilBackgroundflag (defaults tofalse). Whenfalse, the icon swaps immediately as before — this release is a drop-in upgrade with no behavior change unless you opt in.- When
deferUntilBackground: true, the swap is queued and applied once the app is backgrounded. The change is performed by a smallDynamicAppIconServiceononTaskRemoved/onDestroy(swipe-to-close), and recovered on next launch if the process was killed before it could run. - New
applyPendingIcon()method — call it from your lifecycle handler onAppLifecycleState.pausedso a deferred swap applies the moment the user leaves the app (e.g. presses Home) instead of waiting for the task to be removed. No-op on iOS.
- iOS: Behavior unchanged — icon swaps remain synchronous;
deferUntilBackgroundandapplyPendingIcon()are no-ops. - Updated the example app with a toggle to demonstrate both the immediate and deferred swap strategies.
2.0.0 #
- BREAKING: Migrated the Android plugin to Flutter's built-in Kotlin support and raised the minimum Flutter version to
3.44.0.- The plugin no longer applies the Kotlin Gradle Plugin (
kotlin-android), which would otherwise break builds on Android Gradle Plugin (AGP) 9.0+. See the migration guide. - Replaced the deprecated
kotlinOptionsblock with thekotlin { compilerOptions { jvmTarget } }DSL. - Bumped the Android toolchain to AGP
9.0.1, Kotlin2.3.20, and Java17.
- The plugin no longer applies the Kotlin Gradle Plugin (
- Updated the example app to built-in Kotlin and bumped Gradle (
9.1.0), AGP (9.0.1), and Kotlin (2.3.20) to clear Flutter 3.44 deprecation warnings.
1.0.1 #
- Fixed Swift Package Manager (SPM) support that was not detected by Flutter in 1.0.0
- Moved
Package.swiftto the Flutter-requiredios/dynamic_app_icon_flutter_plus/path - Moved Swift sources and
PrivacyInfo.xcprivacyinto the SPMSources/layout (shared with CocoaPods) - Declared the
FlutterFrameworkSPM dependency required by Flutter 3.44+
- Moved
- CocoaPods support retained for full backwards compatibility
1.0.0 #
- Added Swift Package Manager (SPM) support for iOS — resolves Flutter SPM compatibility warning
- CocoaPods support retained for full backwards compatibility
0.0.8 #
- Readme
0.0.7 #
- Package fix
0.0.6 #
- Initial Setup
0.0.5 #
- Initial Setup
0.0.4 #
- Initial Setup
0.0.3 #
- Initial Setup
0.0.1 #
- Initial release of dynamic_app_icon_flutter
- Android Support: Dynamic icon changing using activity aliases
- Automatic discovery of available icons from AndroidManifest.xml
- Support for unlimited number of alternate icons
- Flexible icon naming (no hardcoded names)
- Uses main activity as default icon launcher
- iOS Support: Dynamic icon changing using alternate app icons
- Support for iOS 10.3+ alternate icons
- Get available icons from Info.plist
- Set alternate icons with optional alert suppression
- Core Features:
supportsAlternateIcons- Check if platform supports dynamic iconsgetAlternateIconName()- Get current active icon namegetAvailableIcons()- Get list of all available alternate iconssetAlternateIconName()- Set the app icon dynamically
- Example App: Complete UI demonstration with Material Design 3
- Platform support status indicator
- Current icon display
- Available icons list with selection
- Clean, modern interface suitable for pub.dev