flutter_device_apps_android 1.0.0
flutter_device_apps_android: ^1.0.0 copied to clipboard
Android implementation of flutter_device_apps (federated plugin).
1.0.0 #
- BREAKING: Raised the minimum requirements to Dart 3.12.0 and Flutter 3.44.0.
- Updated
flutter_device_apps_platform_interfaceto^1.0.0. - Added native
isAppInstalled,isSystemApp, andisAppEnabledqueries usingPackageManager.getApplicationInfo, without building full app metadata. - Added
isAppLaunchableto check for a launch intent without opening the app. - Added
getAppIconto load an app icon separately as PNG bytes. - Added
getInstallSourceInfowith installer, initiating package, originating package, package source, and update owner information where supported. Android versions before API 30 return only the installer package name. - Deprecated
getInstallerStore. UsegetInstallSourceInfoand itsinstallingPackageNamefield instead. The existing method now uses the modern install source API on Android API 30 and later. - Added optional, case-sensitive
packageNamePrefixfiltering tolistApps, applied before loading app metadata and icons. Null or empty disables the filter. - Fixed
appChangessubscription cleanup and restart behavior: cancel the internal EventChannel subscription when the last listener leaves and serialize stream startup and shutdown. - Updated Kotlin configuration to use
compilerOptionsand rely on Flutter's Kotlin plugin handling. - Expanded Dart and Kotlin tests for the new queries, filtering, and stream subscription lifecycle.
- Updated package topics and directed issue reports to the main
flutter_device_appsrepository.
0.8.0 #
- Adds Android Gradle Plugin 9 / built-in Kotlin compatibility.
- Keeps Kotlin Gradle Plugin compatibility for Android Gradle Plugin versions earlier than 9.
0.7.0 #
- Expanded Android app details payload with additional raw fields:
uid,apkPath,apkSizeBytes,dataPath, andisOnExternalStorage. - Added APK size calculation in bytes using
ApplicationInfo.sourceDirandsplitSourceDirs. - Updated Dart unit tests for method channel mapping of the new fields.
0.6.0 #
- BREAKING: Updated to match platform interface 0.6.0 -
requestedPermissionsremoved fromAppInfo - Added
getRequestedPermissions(String packageName)method implementation for on-demand permission retrieval - Added GitHub Actions workflows for Android unit tests, quality checks, and PR enforcement
- Added comprehensive Dart unit tests (27 tests) for method channel mocking
- Added Kotlin unit tests (11 tests) with Robolectric for Android plugin
- Made
FlutterDeviceAppsAndroidPluginclassopenwithprotectedfields for testability
0.5.1 #
- Added support for additional
AppInfofields from the Android package manager:category,targetSdkVersion,minSdkVersion,enabled,processName,installLocation,requestedPermissions. - Populates
requestedPermissionsviaPackageManager.GET_PERMISSIONS.
0.4.0 #
App change events now forward the raw Android action string to Dart, letting the Dart side handle event type mapping; no breaking changes.
0.2.0 #
- Enhanced README.md with professional badge layout for better package visibility
- Added centered HTML badges for pub.dev, GitHub stars, Flutter documentation, and MIT license
- Added umbrella package badge linking to main flutter_device_apps package
- Improved documentation presentation following modern Flutter package standards
- Updated flutter_device_apps_platform_interface dependency to ^0.2.0
- Enhanced package branding and visual consistency across federated plugin family
0.1.2 #
- Added
openAppSettingsimplementation usingSettings.ACTION_APPLICATION_DETAILS_SETTINGS - Added
uninstallAppimplementation usingIntent.ACTION_UNINSTALL_PACKAGEwith fallback toACTION_DELETE - Added
getInstallerStoreimplementation usingPackageManager.getInstallerPackageName() - Improved error handling with specific error codes (ERR_OPEN_SETTINGS, ERR_UNINSTALL, ERR_INSTALLER)
- Added proper Android Intent.ACTION mapping for package events:
ACTION_PACKAGE_ADDED→ installedACTION_PACKAGE_REMOVED→ removedACTION_PACKAGE_CHANGED/ACTION_PACKAGE_REPLACED→ updatedACTION_PACKAGE_FULLY_REMOVED→ removed
- Added support for
Intent.EXTRA_REPLACINGto distinguish updates from uninstalls - Improved broadcast receiver with proper IntentFilter setup
- Added coroutine-based async operations for better performance
- Removed unused
enabled/disabledevent types that were never implemented
0.1.0 #
- First public Android implementation for
flutter_device_apps - Adds listApps, getApp, openApp, and appChanges (EventChannel)