From ac39b9215aaea8a3b68d7a5958228b4a3c606931 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sat, 31 Mar 2018 16:50:44 +0200 Subject: [PATCH] Correctly close settings after saving --- .../quasseldroid/ExampleInstrumentedTest.kt | 22 ------------ .../ui/coresettings/SettingsFragment.kt | 4 +-- .../networkconfig/NetworkConfigFragment.kt | 36 +++++++++---------- 3 files changed, 20 insertions(+), 42 deletions(-) delete mode 100644 app/src/androidTest/java/de/kuschku/quasseldroid/ExampleInstrumentedTest.kt diff --git a/app/src/androidTest/java/de/kuschku/quasseldroid/ExampleInstrumentedTest.kt b/app/src/androidTest/java/de/kuschku/quasseldroid/ExampleInstrumentedTest.kt deleted file mode 100644 index d6985543e..000000000 --- a/app/src/androidTest/java/de/kuschku/quasseldroid/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,22 +0,0 @@ -package de.kuschku.quasseldroid - -import android.support.test.InstrumentationRegistry -import android.support.test.runner.AndroidJUnit4 -import org.junit.Assert.assertEquals -import org.junit.Test -import org.junit.runner.RunWith - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getTargetContext() - assertEquals("de.kuschku.quasseldroid_ng", appContext.packageName) - } -} diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt index 7d580fb37..76e93128a 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt @@ -20,11 +20,11 @@ abstract class SettingsFragment : ServiceBoundFragment() { override fun onOptionsItemSelected(item: MenuItem?) = when (item?.itemId) { R.id.action_save -> { - onSave() + if (onSave()) activity?.finish() true } else -> super.onOptionsItemSelected(item) } - abstract fun onSave() + abstract fun onSave(): Boolean } \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt index 972ac1a51..098c19836 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt @@ -80,22 +80,22 @@ class NetworkConfigFragment : SettingsFragment() { } - override fun onSave() { - networkConfig?.let { - val config = it.copy() - - config.setPingTimeoutEnabled(pingTimeoutEnabled.isChecked) - pingInterval.text.toString().toIntOrNull()?.let(config::setPingInterval) - maxPingCount.text.toString().toIntOrNull()?.let(config::setMaxPingCount) - - config.setAutoWhoEnabled(autoWhoEnabled.isChecked) - autoWhoInterval.text.toString().toIntOrNull()?.let(config::setAutoWhoInterval) - autoWhoNickLimit.text.toString().toIntOrNull()?.let(config::setAutoWhoNickLimit) - autoWhoDelay.text.toString().toIntOrNull()?.let(config::setAutoWhoDelay) - config.setStandardCtcp(standardCtcp.isChecked) - - val properties = config.toVariantMap() - it.requestUpdate(properties) - } - } + override fun onSave() = networkConfig?.let { + val config = it.copy() + + config.setPingTimeoutEnabled(pingTimeoutEnabled.isChecked) + pingInterval.text.toString().toIntOrNull()?.let(config::setPingInterval) + maxPingCount.text.toString().toIntOrNull()?.let(config::setMaxPingCount) + + config.setAutoWhoEnabled(autoWhoEnabled.isChecked) + autoWhoInterval.text.toString().toIntOrNull()?.let(config::setAutoWhoInterval) + autoWhoNickLimit.text.toString().toIntOrNull()?.let(config::setAutoWhoNickLimit) + autoWhoDelay.text.toString().toIntOrNull()?.let(config::setAutoWhoDelay) + config.setStandardCtcp(standardCtcp.isChecked) + + val properties = config.toVariantMap() + it.requestUpdate(properties) + + true + } ?: false } \ No newline at end of file -- GitLab