|
4 | 4 | */
|
5 | 5 | package com.wireguard.android.fragment
|
6 | 6 |
|
| 7 | +import android.Manifest |
7 | 8 | import android.app.Dialog
|
8 |
| -import android.content.Intent |
9 | 9 | import android.os.Bundle
|
10 | 10 | import android.widget.Button
|
11 | 11 | import android.widget.Toast
|
@@ -40,12 +40,11 @@ class AppListDialogFragment : DialogFragment() {
|
40 | 40 | try {
|
41 | 41 | val applicationData: MutableList<ApplicationData> = ArrayList()
|
42 | 42 | withContext(Dispatchers.IO) {
|
43 |
| - val launcherIntent = Intent(Intent.ACTION_MAIN, null) |
44 |
| - launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER) |
45 |
| - val resolveInfos = pm.queryIntentActivities(launcherIntent, 0) |
46 |
| - resolveInfos.forEach { |
47 |
| - val packageName = it.activityInfo.packageName |
48 |
| - val appData = ApplicationData(it.loadIcon(pm), it.loadLabel(pm).toString(), packageName, currentlySelectedApps.contains(packageName)) |
| 43 | + val packageInfos = pm.getPackagesHoldingPermissions(arrayOf(Manifest.permission.INTERNET), 0) |
| 44 | + packageInfos.forEach { |
| 45 | + val packageName = it.packageName |
| 46 | + val appInfo = it.applicationInfo |
| 47 | + val appData = ApplicationData(appInfo.loadIcon(pm), appInfo.loadLabel(pm).toString(), packageName, currentlySelectedApps.contains(packageName)) |
49 | 48 | applicationData.add(appData)
|
50 | 49 | appData.addOnPropertyChangedCallback(object : Observable.OnPropertyChangedCallback() {
|
51 | 50 | override fun onPropertyChanged(sender: Observable?, propertyId: Int) {
|
|
0 commit comments