forked from penguin86/luna-tracker
- Add ButtonConfigActivity for customizing main screen buttons with drag-and-drop reordering and individual size options (S/M/L) - Move storage settings to separate StorageSettingsActivity - Move signature setting to storage settings (relevant for WebDAV sync) - Move data backup to separate BackupActivity with export/import - Make "more" overflow button configurable in size - Simplify SettingsActivity to 3 navigation buttons - Add logbook rename/delete functionality - Improve S/M/L button contrast with visible borders
62 lines
2.1 KiB
Kotlin
62 lines
2.1 KiB
Kotlin
package it.danieleverducci.lunatracker
|
|
|
|
import android.content.Intent
|
|
import android.os.Bundle
|
|
import android.view.View
|
|
import android.widget.TextView
|
|
import androidx.activity.result.contract.ActivityResultContracts
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import it.danieleverducci.lunatracker.repository.LocalSettingsRepository
|
|
|
|
class SettingsActivity : AppCompatActivity() {
|
|
|
|
private lateinit var settingsRepository: LocalSettingsRepository
|
|
private lateinit var textViewStorageStatus: TextView
|
|
|
|
private val storageSettingsLauncher = registerForActivityResult(
|
|
ActivityResultContracts.StartActivityForResult()
|
|
) { _ ->
|
|
updateStorageStatus()
|
|
}
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
|
|
setContentView(R.layout.activity_settings)
|
|
textViewStorageStatus = findViewById(R.id.settings_storage_status)
|
|
|
|
findViewById<View>(R.id.settings_storage).setOnClickListener {
|
|
storageSettingsLauncher.launch(Intent(this, StorageSettingsActivity::class.java))
|
|
}
|
|
findViewById<View>(R.id.settings_button_config).setOnClickListener {
|
|
startActivity(Intent(this, ButtonConfigActivity::class.java))
|
|
}
|
|
findViewById<View>(R.id.settings_backup).setOnClickListener {
|
|
startActivity(Intent(this, BackupActivity::class.java))
|
|
}
|
|
findViewById<View>(R.id.settings_close).setOnClickListener {
|
|
finish()
|
|
}
|
|
|
|
settingsRepository = LocalSettingsRepository(this)
|
|
loadSettings()
|
|
}
|
|
|
|
override fun onResume() {
|
|
super.onResume()
|
|
updateStorageStatus()
|
|
}
|
|
|
|
private fun loadSettings() {
|
|
updateStorageStatus()
|
|
}
|
|
|
|
private fun updateStorageStatus() {
|
|
val dataRepo = settingsRepository.loadDataRepository()
|
|
textViewStorageStatus.text = when (dataRepo) {
|
|
LocalSettingsRepository.DATA_REPO.WEBDAV -> getString(R.string.settings_storage_status_webdav)
|
|
else -> getString(R.string.settings_storage_status_local)
|
|
}
|
|
}
|
|
}
|