summaryrefslogtreecommitdiffhomepage
path: root/android/app/src
diff options
context:
space:
mode:
authorsaber safavi <saber.safavi@codic.se>2023-05-08 16:53:06 +0200
committersaber safavi <saber.safavi@codic.se>2023-05-15 16:24:01 +0200
commit8c8996d0b2ebd924cde273130dc7c89c8f9eefe9 (patch)
tree14876c3d664583b55badfd7af111dbb5ca7b1724 /android/app/src
parent525e294bb258b666c891fb80b486fb8c111a77c8 (diff)
downloadmullvadvpn-8c8996d0b2ebd924cde273130dc7c89c8f9eefe9.tar.xz
mullvadvpn-8c8996d0b2ebd924cde273130dc7c89c8f9eefe9.zip
Remove preferences menu from settings fragment
Diffstat (limited to 'android/app/src')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/PreferencesFragment.kt130
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt7
-rw-r--r--android/app/src/main/res/layout/preferences.xml60
-rw-r--r--android/app/src/main/res/layout/settings.xml5
4 files changed, 0 insertions, 202 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/PreferencesFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/PreferencesFragment.kt
deleted file mode 100644
index 9e4631c9e3..0000000000
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/PreferencesFragment.kt
+++ /dev/null
@@ -1,130 +0,0 @@
-package net.mullvad.mullvadvpn.ui.fragment
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.flow.emptyFlow
-import kotlinx.coroutines.flow.flatMapLatest
-import kotlinx.coroutines.flow.flowOf
-import kotlinx.coroutines.launch
-import net.mullvad.mullvadvpn.R
-import net.mullvad.mullvadvpn.model.Settings
-import net.mullvad.mullvadvpn.ui.CollapsibleTitleController
-import net.mullvad.mullvadvpn.ui.extension.requireMainActivity
-import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionManager
-import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionState
-import net.mullvad.mullvadvpn.ui.serviceconnection.settingsListener
-import net.mullvad.mullvadvpn.ui.widget.CellSwitch
-import net.mullvad.mullvadvpn.ui.widget.ToggleCell
-import net.mullvad.mullvadvpn.util.JobTracker
-import net.mullvad.mullvadvpn.util.callbackFlowFromNotifier
-import org.koin.android.ext.android.inject
-
-class PreferencesFragment : BaseFragment() {
-
- // Injected dependencies
- private val serviceConnectionManager: ServiceConnectionManager by inject()
-
- private lateinit var allowLanToggle: ToggleCell
- private lateinit var autoConnectToggle: ToggleCell
- private lateinit var titleController: CollapsibleTitleController
-
- @Deprecated("Refactor code to instead rely on Lifecycle.") private val jobTracker = JobTracker()
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- lifecycleScope.launchUiSubscriptionsOnResume()
- }
-
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View? {
- val view = inflater.inflate(R.layout.preferences, container, false)
-
- view.findViewById<View>(R.id.back).setOnClickListener {
- requireMainActivity().onBackPressed()
- }
-
- allowLanToggle =
- view.findViewById<ToggleCell>(R.id.allow_lan).apply {
- listener = { state ->
- serviceConnectionManager.settingsListener()?.allowLan =
- when (state) {
- CellSwitch.State.ON -> true
- else -> false
- }
- }
- }
-
- autoConnectToggle =
- view.findViewById<ToggleCell>(R.id.auto_connect).apply {
- listener = { state ->
- serviceConnectionManager.settingsListener()?.autoConnect =
- when (state) {
- CellSwitch.State.ON -> true
- else -> false
- }
- }
- }
-
- titleController = CollapsibleTitleController(view)
-
- return view
- }
-
- override fun onDestroyView() {
- titleController.onDestroy()
- super.onDestroyView()
- }
-
- private fun CoroutineScope.launchUiSubscriptionsOnResume() = launch {
- repeatOnLifecycle(Lifecycle.State.RESUMED) { launchSettingsSubscription() }
- }
-
- private fun CoroutineScope.launchSettingsSubscription() = launch {
- serviceConnectionManager.connectionState
- .flatMapLatest { state ->
- if (state is ServiceConnectionState.ConnectedReady) {
- flowOf(state.container)
- } else {
- emptyFlow()
- }
- }
- .flatMapLatest { callbackFlowFromNotifier(it.settingsListener.settingsNotifier) }
- .collect { settings ->
- if (settings != null) {
- updateUi(settings)
- }
- }
- }
-
- private fun updateUi(settings: Settings) {
- jobTracker.newUiJob("updateUi") {
- val allowLanState = boolToSwitchState(settings.allowLan)
- val autoConnectState = boolToSwitchState(settings.autoConnect)
-
- if (isVisible) {
- allowLanToggle.state = allowLanState
- autoConnectToggle.state = autoConnectState
- } else {
- allowLanToggle.forcefullySetState(allowLanState)
- autoConnectToggle.forcefullySetState(autoConnectState)
- }
- }
- }
-
- private fun boolToSwitchState(pref: Boolean): CellSwitch.State {
- if (pref) {
- return CellSwitch.State.ON
- } else {
- return CellSwitch.State.OFF
- }
- }
-}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt
index 777f014aa0..ff3a8edcf0 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt
@@ -47,7 +47,6 @@ class SettingsFragment : BaseFragment(), StatusBarPainter, NavigationBarPainter
private lateinit var accountMenu: AccountCell
private lateinit var appVersionMenu: AppVersionCell
- private lateinit var preferencesMenu: View
private lateinit var advancedMenu: View
private lateinit var titleController: CollapsibleTitleController
@@ -72,11 +71,6 @@ class SettingsFragment : BaseFragment(), StatusBarPainter, NavigationBarPainter
targetFragment = AccountFragment::class
}
- preferencesMenu =
- view.findViewById<NavigateCell>(R.id.preferences).apply {
- targetFragment = PreferencesFragment::class
- }
-
advancedMenu =
view.findViewById<NavigateCell>(R.id.advanced).apply {
targetFragment = AdvancedFragment::class
@@ -185,7 +179,6 @@ class SettingsFragment : BaseFragment(), StatusBarPainter, NavigationBarPainter
}
accountMenu.visibility = visibility
- preferencesMenu.visibility = visibility
advancedMenu.visibility = visibility
}
diff --git a/android/app/src/main/res/layout/preferences.xml b/android/app/src/main/res/layout/preferences.xml
deleted file mode 100644
index 70489f4429..0000000000
--- a/android/app/src/main/res/layout/preferences.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:mullvad="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/darkBlue"
- android:gravity="left">
- <TextView android:id="@+id/title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/settings_preferences"
- style="@style/SettingsCollapsedHeader" />
- <LinearLayout android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <FrameLayout android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <net.mullvad.mullvadvpn.ui.widget.BackButton android:id="@+id/back"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- mullvad:text="@string/settings" />
- <TextView android:id="@+id/collapsed_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginHorizontal="4dp"
- android:layout_gravity="center"
- android:text="@string/settings_preferences"
- style="@style/SettingsCollapsedHeader" />
- </FrameLayout>
- <net.mullvad.mullvadvpn.ui.widget.ListenableScrollView android:id="@+id/scroll_area"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <LinearLayout android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/screen_vertical_margin"
- android:orientation="vertical">
- <TextView android:id="@+id/expanded_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="2dp"
- android:layout_marginLeft="@dimen/side_margin"
- android:lines="1"
- android:text="@string/settings_preferences"
- style="@style/SettingsExpandedHeader" />
- <net.mullvad.mullvadvpn.ui.widget.ToggleCell android:id="@+id/auto_connect"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/vertical_space"
- mullvad:text="@string/auto_connect"
- mullvad:footer="@string/auto_connect_footer" />
- <net.mullvad.mullvadvpn.ui.widget.ToggleCell android:id="@+id/allow_lan"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/vertical_space"
- mullvad:text="@string/local_network_sharing"
- mullvad:footer="@string/allow_lan_footer" />
- </LinearLayout>
- </net.mullvad.mullvadvpn.ui.widget.ListenableScrollView>
- </LinearLayout>
-</FrameLayout>
diff --git a/android/app/src/main/res/layout/settings.xml b/android/app/src/main/res/layout/settings.xml
index 8a00334fff..09426d0bca 100644
--- a/android/app/src/main/res/layout/settings.xml
+++ b/android/app/src/main/res/layout/settings.xml
@@ -48,11 +48,6 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/vertical_space"
mullvad:text="@string/settings_account" />
- <net.mullvad.mullvadvpn.ui.widget.NavigateCell android:id="@+id/preferences"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="1dp"
- mullvad:text="@string/settings_preferences" />
<net.mullvad.mullvadvpn.ui.widget.NavigateCell android:id="@+id/advanced"
android:layout_width="match_parent"
android:layout_height="wrap_content"