diff --git a/core/src/main/java/net/ivpn/core/v2/viewmodel/SplitTunnelingViewModel.java b/core/src/main/java/net/ivpn/core/v2/viewmodel/SplitTunnelingViewModel.java index 12b33cdb8..b1ad5751b 100644 --- a/core/src/main/java/net/ivpn/core/v2/viewmodel/SplitTunnelingViewModel.java +++ b/core/src/main/java/net/ivpn/core/v2/viewmodel/SplitTunnelingViewModel.java @@ -165,9 +165,10 @@ protected List<ApplicationItem> doInBackground(Void... voids) { for (ApplicationInfo info : applicationInfoList) { try { if (PackageManager.PERMISSION_GRANTED == packageManager.checkPermission(Manifest.permission.INTERNET, info.packageName)) { - if (null != packageManager.getLaunchIntentForPackage(info.packageName) || + if ((null != packageManager.getLaunchIntentForPackage(info.packageName) || null != packageManager.getLeanbackLaunchIntentForPackage(info.packageName) || - null != packageManager.getInstallerPackageName(info.packageName) + null != packageManager.getInstallerPackageName(info.packageName) && + (info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) ) { if (packageNames.add(info.loadLabel(packageManager).toString())) { items.add(new ApplicationItem(info.loadLabel(packageManager).toString(), info.packageName,