UI opgesplitst: hoofdscherm (status+acties) en apart instellingenscherm (SettingsActivity)
This commit is contained in:
parent
23eae6e428
commit
29691e1425
5 changed files with 107 additions and 75 deletions
|
|
@ -1,12 +1,10 @@
|
|||
package nl.eddydevink.buschauffeurswekker
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.widget.EditText
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
|
|
@ -21,6 +19,7 @@ import java.time.Instant
|
|||
import java.time.ZoneId
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
/** Hoofdscherm: status + acties. Instellingen staan in [SettingsActivity]. */
|
||||
class MainActivity : AppCompatActivity() {
|
||||
|
||||
private lateinit var prefs: Prefs
|
||||
|
|
@ -35,14 +34,16 @@ class MainActivity : AppCompatActivity() {
|
|||
findViewById<MaterialButton>(R.id.btn_check).setOnClickListener { runCheck() }
|
||||
findViewById<MaterialButton>(R.id.btn_test).setOnClickListener {
|
||||
AlarmScheduler.scheduleTest(this)
|
||||
Toast.makeText(this, "Testwekker gaat over 10 seconden af", Toast.LENGTH_SHORT).show()
|
||||
toast("Testwekker gaat over 10 seconden af")
|
||||
}
|
||||
findViewById<MaterialButton>(R.id.btn_settings).setOnClickListener {
|
||||
startActivity(Intent(this, SettingsActivity::class.java))
|
||||
}
|
||||
findViewById<MaterialButton>(R.id.btn_save).setOnClickListener { saveSettings() }
|
||||
|
||||
// Staat altijd zichtbaar in de status-edit: pionnen van de volgende controle alvast zetten.
|
||||
AlarmScheduler.scheduleNoonCheck(this)
|
||||
|
||||
// Config via launch-intent (installatie/hulp): adb shell am start ... --es url "..." --es user "..." --es pass "..."
|
||||
// Config via launch-intent (installatiehulp):
|
||||
// adb shell am start ... --es url "..." --es user "..." --es pass "..."
|
||||
handleSetupIntent(intent)
|
||||
}
|
||||
|
||||
|
|
@ -61,7 +62,6 @@ class MainActivity : AppCompatActivity() {
|
|||
if (!url.isNullOrBlank()) prefs.calendarUrl = url.trim()
|
||||
if (!user.isNullOrBlank()) prefs.username = user.trim()
|
||||
if (pass != null) prefs.password = pass
|
||||
renderSettings()
|
||||
lifecycleScope.launch {
|
||||
val r = ShiftCheck.run(this@MainActivity)
|
||||
renderStatus()
|
||||
|
|
@ -72,7 +72,6 @@ class MainActivity : AppCompatActivity() {
|
|||
override fun onResume() {
|
||||
super.onResume()
|
||||
renderStatus()
|
||||
renderSettings()
|
||||
}
|
||||
|
||||
private fun renderStatus() {
|
||||
|
|
@ -94,21 +93,7 @@ class MainActivity : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private fun renderSettings() {
|
||||
findViewById<EditText>(R.id.et_url).setText(prefs.calendarUrl.orEmpty())
|
||||
findViewById<EditText>(R.id.et_user).setText(prefs.username.orEmpty())
|
||||
findViewById<EditText>(R.id.et_pass).setText(prefs.password.orEmpty())
|
||||
}
|
||||
|
||||
private fun saveSettings() {
|
||||
prefs.calendarUrl = findViewById<EditText>(R.id.et_url).text.toString().trim()
|
||||
prefs.username = findViewById<EditText>(R.id.et_user).text.toString().trim()
|
||||
prefs.password = findViewById<EditText>(R.id.et_pass).text.toString()
|
||||
toast("Instellingen opgeslagen")
|
||||
}
|
||||
|
||||
private fun runCheck() {
|
||||
saveSettings()
|
||||
val btn = findViewById<MaterialButton>(R.id.btn_check)
|
||||
btn.isEnabled = false
|
||||
btn.text = "Bezig…"
|
||||
|
|
|
|||
Loading…
Reference in a new issue