From a7a33d2de2b0e66696b8d857e7281ab0f4ac14fe Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 25 Aug 2016 23:58:54 -0700 Subject: [PATCH] Optimized configurations loading & saving. --- .../tesremoteprogrammer/MainActivity.kt | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt index 82127d7..fbe227e 100644 --- a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt +++ b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/MainActivity.kt @@ -260,15 +260,16 @@ class MainActivity : AppCompatActivity(), AnkoLogger { config = it.readObject() as Config } } catch (ex: FileNotFoundException) { - config = Gson().fromJson(InputStreamReader(resources.openRawResource(R.raw.dks_1802_epd)), - Config::class.java) - - saveConfig() - + val confs = Configurations() config = Gson().fromJson(InputStreamReader(resources.openRawResource(R.raw.dks_1802)), Config::class.java) + confs.configs.put(config.params.name, config) + config = Gson().fromJson(InputStreamReader(resources.openRawResource(R.raw.dks_1802_epd)), + Config::class.java) + confs.configs.put(config.params.name, config) - saveConfig() + saveConfigurations(confs) + saveConfig(false) } } @@ -278,10 +279,12 @@ class MainActivity : AppCompatActivity(), AnkoLogger { } } - fun saveConfig() { - val confs = loadConfigurations() - confs.configs.put(config.params.name, config) - saveConfigurations(confs) + fun saveConfig(backup: Boolean = true) { + if (backup) { + val confs = loadConfigurations() + confs.configs.put(config.params.name, config) + saveConfigurations(confs) + } ObjectOutputStream(openFileOutput(current_config_data, Context.MODE_PRIVATE)).use { it.writeObject(config)