diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4828b01..11b4cd1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -37,6 +37,10 @@ + + (R.id.btn_check).setOnClickListener { runCheck() } findViewById(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(R.id.btn_settings).setOnClickListener { + startActivity(Intent(this, SettingsActivity::class.java)) } - findViewById(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(R.id.et_url).setText(prefs.calendarUrl.orEmpty()) - findViewById(R.id.et_user).setText(prefs.username.orEmpty()) - findViewById(R.id.et_pass).setText(prefs.password.orEmpty()) - } - - private fun saveSettings() { - prefs.calendarUrl = findViewById(R.id.et_url).text.toString().trim() - prefs.username = findViewById(R.id.et_user).text.toString().trim() - prefs.password = findViewById(R.id.et_pass).text.toString() - toast("Instellingen opgeslagen") - } - private fun runCheck() { - saveSettings() val btn = findViewById(R.id.btn_check) btn.isEnabled = false btn.text = "Bezig…" diff --git a/app/src/main/java/nl/eddydevink/buschauffeurswekker/SettingsActivity.kt b/app/src/main/java/nl/eddydevink/buschauffeurswekker/SettingsActivity.kt new file mode 100644 index 0000000..b6110a0 --- /dev/null +++ b/app/src/main/java/nl/eddydevink/buschauffeurswekker/SettingsActivity.kt @@ -0,0 +1,30 @@ +package nl.eddydevink.buschauffeurswekker + +import android.os.Bundle +import android.widget.EditText +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import com.google.android.material.button.MaterialButton +import nl.eddydevink.buschauffeurswekker.core.Prefs + +/** Apart instellingenscherm: CalDAV-gegevens (URL, gebruiker, app-wachtwoord). */ +class SettingsActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_settings) + + val prefs = Prefs(this) + findViewById(R.id.et_url).setText(prefs.calendarUrl.orEmpty()) + findViewById(R.id.et_user).setText(prefs.username.orEmpty()) + findViewById(R.id.et_pass).setText(prefs.password.orEmpty()) + + findViewById(R.id.btn_save).setOnClickListener { + prefs.calendarUrl = findViewById(R.id.et_url).text.toString().trim() + prefs.username = findViewById(R.id.et_user).text.toString().trim() + prefs.password = findViewById(R.id.et_pass).text.toString() + Toast.makeText(this, "Instellingen opgeslagen", Toast.LENGTH_SHORT).show() + finish() + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index cdfe17a..f205bba 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -31,64 +31,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="Testwekker (over 10 seconden)" /> - - - - - - - - - - + android:text="Wekker testen (over 10 seconden)" /> - - - - + android:text="Instellingen" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml new file mode 100644 index 0000000..191cd71 --- /dev/null +++ b/app/src/main/res/layout/activity_settings.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file