Skip to content

Commit 3fd4832

Browse files
authored
Merge pull request #4 from okmsbun/develop
Develop
2 parents f62e727 + 0c85ce4 commit 3fd4832

3 files changed

Lines changed: 16 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.5.1
2+
- Added support for additional `AppInfo` fields from the Android package manager: `category`, `targetSdkVersion`, `minSdkVersion`, `enabled`, `processName`, `installLocation`, `requestedPermissions`.
3+
- Populates `requestedPermissions` via `PackageManager.GET_PERMISSIONS`.
4+
15
## 0.4.0
26
App change events now forward the raw Android action string to Dart, letting the Dart side handle event type mapping; no breaking changes.
37

android/src/main/kotlin/com/okmsbun/flutter_device_apps_android/FlutterDeviceAppsAndroidPlugin.kt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,10 +248,10 @@ class FlutterDeviceAppsAndroidPlugin : FlutterPlugin, MethodChannel.MethodCallHa
248248
private fun getAppMap(packageName: String, includeIcon: Boolean): Map<String, Any?>? {
249249
val pInfo: PackageInfo = try {
250250
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
251-
pm.getPackageInfo(packageName, PackageManager.PackageInfoFlags.of(0))
251+
pm.getPackageInfo(packageName, PackageManager.PackageInfoFlags.of(PackageManager.GET_PERMISSIONS.toLong()))
252252
} else {
253253
@Suppress("DEPRECATION")
254-
pm.getPackageInfo(packageName, 0)
254+
pm.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS)
255255
}
256256
} catch (_: Exception) {
257257
return null
@@ -260,6 +260,7 @@ class FlutterDeviceAppsAndroidPlugin : FlutterPlugin, MethodChannel.MethodCallHa
260260
val aInfo: ApplicationInfo = pInfo.applicationInfo ?: return null
261261

262262
val category: Int? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) aInfo.category else null
263+
val requestedPermissionsList: List<String>? = pInfo.requestedPermissions?.toList()
263264

264265
val isSystem = (aInfo.flags and ApplicationInfo.FLAG_SYSTEM) != 0
265266
val label = try {
@@ -294,7 +295,13 @@ class FlutterDeviceAppsAndroidPlugin : FlutterPlugin, MethodChannel.MethodCallHa
294295
"lastUpdateTime" to pInfo.lastUpdateTime,
295296
"isSystem" to isSystem,
296297
"iconBytes" to iconBytes,
297-
"category" to category
298+
"category" to category,
299+
"targetSdkVersion" to aInfo.targetSdkVersion,
300+
"minSdkVersion" to aInfo.minSdkVersion,
301+
"enabled" to aInfo.enabled,
302+
"processName" to aInfo.processName,
303+
"installLocation" to pInfo.installLocation,
304+
"requestedPermissions" to requestedPermissionsList
298305
)
299306
}
300307

pubspec.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
name: flutter_device_apps_android
22
description: Android implementation of flutter_device_apps (federated plugin).
3-
version: 0.4.1
4-
3+
version: 0.5.1
54
repository: https://github.com/okmsbun/flutter_device_apps_android
65
issue_tracker: https://github.com/okmsbun/flutter_device_apps_android/issues
76
topics:
@@ -18,7 +17,7 @@ environment:
1817
dependencies:
1918
flutter:
2019
sdk: flutter
21-
flutter_device_apps_platform_interface: ^0.4.0
20+
flutter_device_apps_platform_interface: ^0.5.1
2221

2322
dev_dependencies:
2423
flutter_lints: ^6.0.0

0 commit comments

Comments
 (0)