@@ -3,6 +3,7 @@ package dev.firezone.android.features.settings.ui
3
3
4
4
import android.os.Bundle
5
5
import androidx.activity.viewModels
6
+ import androidx.appcompat.app.AlertDialog
6
7
import androidx.appcompat.app.AppCompatActivity
7
8
import androidx.fragment.app.Fragment
8
9
import androidx.fragment.app.FragmentActivity
@@ -55,8 +56,15 @@ internal class SettingsActivity : AppCompatActivity() {
55
56
}
56
57
}.attach()
57
58
58
- btSaveSettings.setOnClickListener {
59
- viewModel.onSaveSettingsCompleted()
59
+ val isUserSignedIn = intent.getBooleanExtra(" isUserSignedIn" , false )
60
+ if (isUserSignedIn) {
61
+ btSaveSettings.setOnClickListener {
62
+ showSaveWarningDialog()
63
+ }
64
+ } else {
65
+ btSaveSettings.setOnClickListener {
66
+ viewModel.onSaveSettingsCompleted()
67
+ }
60
68
}
61
69
62
70
btCancel.setOnClickListener {
@@ -82,6 +90,17 @@ internal class SettingsActivity : AppCompatActivity() {
82
90
viewModel.onViewResume(this @SettingsActivity)
83
91
}
84
92
93
+ private fun showSaveWarningDialog () {
94
+ AlertDialog .Builder (this ).apply {
95
+ setTitle(" Warning" )
96
+ setMessage(" Changed settings will not be applied until you sign out and sign back in." )
97
+ setPositiveButton(" Okay" ) { dialog, which ->
98
+ viewModel.onSaveSettingsCompleted()
99
+ }
100
+ create().show()
101
+ }
102
+ }
103
+
85
104
override fun onStop () {
86
105
super .onStop()
87
106
if (isFinishing) {
0 commit comments