Skip to content

Commit 4a9733c

Browse files
committed
manager: sort a-z order for webui-next list packages api
1 parent 31aa571 commit 4a9733c

1 file changed

Lines changed: 23 additions & 12 deletions

File tree

manager/app/src/main/java/com/rifsxd/ksunext/ui/webui/WebViewInterface.kt

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -203,12 +203,17 @@ class WebViewInterface(
203203
fun listSystemPackages(): String {
204204
val pm = context.packageManager
205205
val packages = pm.getInstalledPackages(0)
206-
val jsonArray = JSONArray()
207-
for (pkg in packages) {
208-
val appInfo = pkg.applicationInfo
209-
if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) != 0) {
210-
jsonArray.put(pkg.packageName)
206+
val packageNames = packages
207+
.mapNotNull { pkg ->
208+
val appInfo = pkg.applicationInfo
209+
if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) != 0) {
210+
pkg.packageName
211+
} else null
211212
}
213+
.sorted()
214+
val jsonArray = JSONArray()
215+
for (pkgName in packageNames) {
216+
jsonArray.put(pkgName)
212217
}
213218
return jsonArray.toString()
214219
}
@@ -217,12 +222,17 @@ class WebViewInterface(
217222
fun listUserPackages(): String {
218223
val pm = context.packageManager
219224
val packages = pm.getInstalledPackages(0)
220-
val jsonArray = JSONArray()
221-
for (pkg in packages) {
222-
val appInfo = pkg.applicationInfo
223-
if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) == 0) {
224-
jsonArray.put(pkg.packageName)
225+
val packageNames = packages
226+
.mapNotNull { pkg ->
227+
val appInfo = pkg.applicationInfo
228+
if (appInfo != null && (appInfo.flags and ApplicationInfo.FLAG_SYSTEM) == 0) {
229+
pkg.packageName
230+
} else null
225231
}
232+
.sorted()
233+
val jsonArray = JSONArray()
234+
for (pkgName in packageNames) {
235+
jsonArray.put(pkgName)
226236
}
227237
return jsonArray.toString()
228238
}
@@ -231,9 +241,10 @@ class WebViewInterface(
231241
fun listAllPackages(): String {
232242
val pm = context.packageManager
233243
val packages = pm.getInstalledPackages(0)
244+
val packageNames = packages.map { it.packageName }.sorted()
234245
val jsonArray = JSONArray()
235-
for (pkg in packages) {
236-
jsonArray.put(pkg.packageName)
246+
for (pkgName in packageNames) {
247+
jsonArray.put(pkgName)
237248
}
238249
return jsonArray.toString()
239250
}

0 commit comments

Comments
 (0)