@@ -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