diff options
| author | saber safavi <saber.safavi@codic.se> | 2023-05-08 16:53:06 +0200 |
|---|---|---|
| committer | saber safavi <saber.safavi@codic.se> | 2023-05-15 16:24:01 +0200 |
| commit | 8c8996d0b2ebd924cde273130dc7c89c8f9eefe9 (patch) | |
| tree | 14876c3d664583b55badfd7af111dbb5ca7b1724 /android/app/src | |
| parent | 525e294bb258b666c891fb80b486fb8c111a77c8 (diff) | |
| download | mullvadvpn-8c8996d0b2ebd924cde273130dc7c89c8f9eefe9.tar.xz mullvadvpn-8c8996d0b2ebd924cde273130dc7c89c8f9eefe9.zip | |
Remove preferences menu from settings fragment
Diffstat (limited to 'android/app/src')
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" |
