forked from NdoleStudio/httpsms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSettingsActivity.kt
More file actions
67 lines (58 loc) · 2.09 KB
/
Copy pathSettingsActivity.kt
File metadata and controls
67 lines (58 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.httpsms
import android.content.Intent
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.httpsms.ui.settings.SettingsScreen
import com.httpsms.ui.settings.SettingsViewModel
import com.httpsms.ui.theme.HttpSmsTheme
import timber.log.Timber
class SettingsActivity : AppCompatActivity() {
private val viewModel: SettingsViewModel by viewModels()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewModel.initialize(this)
setContent {
HttpSmsTheme {
SettingsScreen(
viewModel = viewModel,
onBackClick = { onBackClicked() },
onLogoutClick = { onLogoutClick() }
)
}
}
}
private fun onBackClicked() {
Timber.d("back button clicked")
redirectToMain()
}
private fun redirectToMain() {
finish()
val switchActivityIntent = Intent(this, MainActivity::class.java)
startActivity(switchActivityIntent)
}
private fun onLogoutClick() {
Timber.d("logout button clicked")
MaterialAlertDialogBuilder(this)
.setTitle("Confirm")
.setMessage("Are you sure you want to logout of the httpSMS App?")
.setNeutralButton("Cancel"){ _, _ -> Timber.d("logout dialog canceled") }
.setPositiveButton("Logout"){_, _ ->
Timber.d("logging out user")
viewModel.logout(this) {
redirectToLogin()
}
}
.show()
}
private fun redirectToLogin():Boolean {
if (Settings.isLoggedIn(this)) {
return false
}
val switchActivityIntent = Intent(this, LoginActivity::class.java)
startActivity(switchActivityIntent)
return true
}
}