manager: sort a-z order for webui-next list packages api

This commit is contained in:
Rifat Azad
2025-07-03 20:09:19 +06:00
parent 31aa571bc2
commit 4a9733c078

View File

@@ -203,12 +203,17 @@ class WebViewInterface(
fun listSystemPackages(): String { fun listSystemPackages(): String {
val pm = context.packageManager val pm = context.packageManager
val packages = pm.getInstalledPackages(0) val packages = pm.getInstalledPackages(0)
val jsonArray = JSONArray() val packageNames = packages
for (pkg in packages) { .mapNotNull { pkg ->
val appInfo = pkg.applicationInfo val appInfo = pkg.applicationInfo
if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) != 0) { if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) != 0) {
jsonArray.put(pkg.packageName) pkg.packageName
} else null
} }
.sorted()
val jsonArray = JSONArray()
for (pkgName in packageNames) {
jsonArray.put(pkgName)
} }
return jsonArray.toString() return jsonArray.toString()
} }
@@ -217,12 +222,17 @@ class WebViewInterface(
fun listUserPackages(): String { fun listUserPackages(): String {
val pm = context.packageManager val pm = context.packageManager
val packages = pm.getInstalledPackages(0) val packages = pm.getInstalledPackages(0)
val jsonArray = JSONArray() val packageNames = packages
for (pkg in packages) { .mapNotNull { pkg ->
val appInfo = pkg.applicationInfo val appInfo = pkg.applicationInfo
if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) == 0) { if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) == 0) {
jsonArray.put(pkg.packageName) pkg.packageName
} else null
} }
.sorted()
val jsonArray = JSONArray()
for (pkgName in packageNames) {
jsonArray.put(pkgName)
} }
return jsonArray.toString() return jsonArray.toString()
} }
@@ -231,9 +241,10 @@ class WebViewInterface(
fun listAllPackages(): String { fun listAllPackages(): String {
val pm = context.packageManager val pm = context.packageManager
val packages = pm.getInstalledPackages(0) val packages = pm.getInstalledPackages(0)
val packageNames = packages.map { it.packageName }.sorted()
val jsonArray = JSONArray() val jsonArray = JSONArray()
for (pkg in packages) { for (pkgName in packageNames) {
jsonArray.put(pkg.packageName) jsonArray.put(pkgName)
} }
return jsonArray.toString() return jsonArray.toString()
} }