From 4a9733c078376c4835bbb5758d93ddb21b4591f3 Mon Sep 17 00:00:00 2001 From: Rifat Azad Date: Thu, 3 Jul 2025 20:09:19 +0600 Subject: [PATCH] manager: sort a-z order for webui-next list packages api --- .../ksunext/ui/webui/WebViewInterface.kt | 35 ++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/webui/WebViewInterface.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/webui/WebViewInterface.kt index e2c714a9..dc9b59bb 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/webui/WebViewInterface.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/webui/WebViewInterface.kt @@ -203,12 +203,17 @@ class WebViewInterface( fun listSystemPackages(): String { val pm = context.packageManager val packages = pm.getInstalledPackages(0) - val jsonArray = JSONArray() - for (pkg in packages) { - val appInfo = pkg.applicationInfo - if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) != 0) { - jsonArray.put(pkg.packageName) + val packageNames = packages + .mapNotNull { pkg -> + val appInfo = pkg.applicationInfo + if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) != 0) { + pkg.packageName + } else null } + .sorted() + val jsonArray = JSONArray() + for (pkgName in packageNames) { + jsonArray.put(pkgName) } return jsonArray.toString() } @@ -217,12 +222,17 @@ class WebViewInterface( fun listUserPackages(): String { val pm = context.packageManager val packages = pm.getInstalledPackages(0) - val jsonArray = JSONArray() - for (pkg in packages) { - val appInfo = pkg.applicationInfo - if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) == 0) { - jsonArray.put(pkg.packageName) + val packageNames = packages + .mapNotNull { pkg -> + val appInfo = pkg.applicationInfo + if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) == 0) { + pkg.packageName + } else null } + .sorted() + val jsonArray = JSONArray() + for (pkgName in packageNames) { + jsonArray.put(pkgName) } return jsonArray.toString() } @@ -231,9 +241,10 @@ class WebViewInterface( fun listAllPackages(): String { val pm = context.packageManager val packages = pm.getInstalledPackages(0) + val packageNames = packages.map { it.packageName }.sorted() val jsonArray = JSONArray() - for (pkg in packages) { - jsonArray.put(pkg.packageName) + for (pkgName in packageNames) { + jsonArray.put(pkgName) } return jsonArray.toString() }