diff --git a/android/app/src/main/java/nl/eddydevink/sylda/PrefsHelper.kt b/android/app/src/main/java/nl/eddydevink/sylda/PrefsHelper.kt index 5b123ac..f446ef5 100644 --- a/android/app/src/main/java/nl/eddydevink/sylda/PrefsHelper.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/PrefsHelper.kt @@ -15,8 +15,16 @@ object PrefsHelper { const val PREF_THEME = "theme" const val PREF_LABEL1 = "label_relay1" const val PREF_LABEL2 = "label_relay2" + const val KEY_DEVICE_MODE = "deviceMode" + const val KEY_SERVER_UUID = "serverUuid" + const val KEY_CLIENT_UUID = "clientUuid" const val SEQ_MAX = 1_000_000 + fun getDeviceMode(context: Context): String = getPrefs(context).getString(KEY_DEVICE_MODE, "server") ?: "server" + fun setDeviceMode(context: Context, mode: String) = getPrefs(context).edit().putString(KEY_DEVICE_MODE, mode).apply() + fun getTransportMode(context: Context): String = getPrefs(context).getString("transportMode", "ble") ?: "ble" + fun setTransportMode(context: Context, mode: String) = getPrefs(context).edit().putString("transportMode", mode).apply() + fun applyTheme(context: Context) { val prefs = getPrefs(context) val mode = when (prefs.getString(PREF_THEME, "system")) { diff --git a/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt b/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt index 59ea230..e3cf253 100644 --- a/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt +++ b/android/app/src/main/java/nl/eddydevink/sylda/SettingsActivity.kt @@ -140,6 +140,26 @@ class SettingsActivity : AppCompatActivity() { supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.title = getString(R.string.title_settings) + val radioDeviceMode = findViewById(R.id.radioDeviceMode) + val radioTransport = findViewById(R.id.radioTransport) + + radioDeviceMode.check( + if (PrefsHelper.getDeviceMode(this) == "client") R.id.radioClient else R.id.radioServer + ) + radioTransport.check( + if (PrefsHelper.getTransportMode(this) == "usb") R.id.radioUsb else R.id.radioBle + ) + + radioDeviceMode.setOnCheckedChangeListener { _, checkedId -> + val mode = if (checkedId == R.id.radioClient) "client" else "server" + PrefsHelper.setDeviceMode(this, mode) + } + + radioTransport.setOnCheckedChangeListener { _, checkedId -> + val mode = if (checkedId == R.id.radioUsb) "usb" else "ble" + PrefsHelper.setTransportMode(this, mode) + } + findViewById