diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-07-03 21:53:05 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-07-20 13:42:41 +0000 |
| commit | 6b30f93fc3b2db982bb307535ef013f47a2cf5a8 (patch) | |
| tree | bd17e357c3c453f9c46551fd6a6f883981b12e83 | |
| parent | efbe499dc4ba0590d452dc45f8a447bf5831fad1 (diff) | |
| download | mullvadvpn-6b30f93fc3b2db982bb307535ef013f47a2cf5a8.tar.xz mullvadvpn-6b30f93fc3b2db982bb307535ef013f47a2cf5a8.zip | |
Update app toggle based on split tunnelling status
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( |
