diff options
Diffstat (limited to 'android/src')
3 files changed, 15 insertions, 3 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListAdapter.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListAdapter.kt index fe9c223194..820ef12fb2 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListAdapter.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListAdapter.kt @@ -6,9 +6,13 @@ import android.view.LayoutInflater import android.view.ViewGroup import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R +import net.mullvad.mullvadvpn.service.SplitTunnelling import net.mullvad.mullvadvpn.util.JobTracker -class AppListAdapter(context: Context) : Adapter<AppListItemHolder>() { +class AppListAdapter( + context: Context, + private val splitTunnelling: SplitTunnelling +) : Adapter<AppListItemHolder>() { private val appList = ArrayList<AppInfo>() private val jobTracker = JobTracker() private val packageManager = context.packageManager @@ -41,7 +45,7 @@ class AppListAdapter(context: Context) : Adapter<AppListItemHolder>() { val inflater = LayoutInflater.from(parentView.context) val view = inflater.inflate(R.layout.app_list_item, parentView, false) - return AppListItemHolder(packageManager, jobTracker, view) + return AppListItemHolder(splitTunnelling, packageManager, jobTracker, view) } override fun onBindViewHolder(holder: AppListItemHolder, position: Int) { diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListItemHolder.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListItemHolder.kt index 04bdd55686..94c418f572 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListItemHolder.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListItemHolder.kt @@ -8,10 +8,12 @@ import android.widget.ImageView import android.widget.TextView import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R +import net.mullvad.mullvadvpn.service.SplitTunnelling import net.mullvad.mullvadvpn.ui.CellSwitch import net.mullvad.mullvadvpn.util.JobTracker class AppListItemHolder( + private val splitTunnelling: SplitTunnelling, private val packageManager: PackageManager, private val jobTracker: JobTracker, view: View @@ -33,6 +35,12 @@ class AppListItemHolder( hideIcon() loadIcon(info) } + + if (splitTunnelling.isAppExcluded(info.info.packageName)) { + excluded.forcefullySetState(CellSwitch.State.ON) + } else { + excluded.forcefullySetState(CellSwitch.State.OFF) + } } else { name.text = "" hideIcon() diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SplitTunnellingFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SplitTunnellingFragment.kt index 087ea85804..b94883798d 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SplitTunnellingFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SplitTunnellingFragment.kt @@ -52,7 +52,7 @@ class SplitTunnellingFragment : ServiceDependentFragment(OnNoService.GoToLaunchS override fun onAttach(context: Context) { super.onAttach(context) - appListAdapter = AppListAdapter(context) + appListAdapter = AppListAdapter(context, splitTunnelling) } override fun onSafelyCreateView( |
