|
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