From 3844f7247b23293ea6fb92aa22e99bbc8ac40bfe Mon Sep 17 00:00:00 2001 From: tateisu Date: Tue, 28 Jan 2020 11:44:08 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=96=E3=83=83=E3=82=AF=E3=83=9E=E3=83=BC?= =?UTF-8?q?=E3=82=AF=E3=83=9C=E3=82=BF=E3=83=B3=E3=81=AE=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E3=82=92=E3=83=87=E3=83=95=E3=82=A9=E3=83=AB=E3=83=88ON?= =?UTF-8?q?=E3=81=AB=E3=81=99=E3=82=8B=E3=80=82=E3=83=87=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=AB=E3=83=88=E5=80=A4=E3=81=AE=E5=A4=89=E5=8C=96=E3=81=AB?= =?UTF-8?q?=E8=BF=BD=E5=BE=93=E3=81=97=E3=82=84=E3=81=99=E3=81=8F=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=81=9F=E3=82=81=E3=80=81=E8=A8=AD=E5=AE=9A=E7=94=BB?= =?UTF-8?q?=E9=9D=A2=E3=82=92=E9=96=8B=E3=81=84=E3=81=9F=E6=99=82=E3=82=84?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E3=81=99=E3=82=8B=E6=99=82=E3=81=AB=E3=82=B9?= =?UTF-8?q?=E3=82=A4=E3=83=83=E3=83=81=E3=81=AE=E5=80=A4=E3=81=8C=E3=83=87?= =?UTF-8?q?=E3=83=95=E3=82=A9=E3=83=AB=E3=83=88=E3=81=A8=E5=90=8C=E3=81=98?= =?UTF-8?q?=E3=81=AA=E3=82=89=E8=A8=AD=E5=AE=9A=E3=82=92=E5=89=8A=E9=99=A4?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jp/juggler/subwaytooter/ActAppSettingChild.kt | 12 ++++++++---- app/src/main/java/jp/juggler/subwaytooter/Pref.kt | 13 +++++++++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActAppSettingChild.kt b/app/src/main/java/jp/juggler/subwaytooter/ActAppSettingChild.kt index 0580c4c6..435c60da 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/ActAppSettingChild.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/ActAppSettingChild.kt @@ -704,9 +704,13 @@ class ActAppSettingChild : AppCompatActivity() private fun loadUIFromData() { load_busy = true - for(si in booleanViewList) { - si.view.isChecked = si.info(pref) - } + pref.edit().also{ e-> + for(si in booleanViewList) { + val curVal = si.info(pref) + si.view.isChecked = curVal + if( curVal == si.info.defVal) si.info.remove(e) + } + }.apply() spBackButtonAction?.setSelection(Pref.ipBackButtonAction(pref)) spRepliesCount?.setSelection(Pref.ipRepliesCount(pref)) @@ -834,7 +838,7 @@ class ActAppSettingChild : AppCompatActivity() val e = pref.edit() for(si in booleanViewList) { - e.putBoolean(si.info.key, si.view.isChecked) + si.info.putOrRemove(e,si.view.isChecked) } spDefaultAccount?.let { diff --git a/app/src/main/java/jp/juggler/subwaytooter/Pref.kt b/app/src/main/java/jp/juggler/subwaytooter/Pref.kt index cbda8c1a..5da4b183 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/Pref.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/Pref.kt @@ -40,7 +40,7 @@ fun SharedPreferences.Editor.remove(item : BasePref<*>) : SharedPreferences.Edit class BooleanPref( key : String, - private val defVal : Boolean, + val defVal : Boolean, val id : Int =0 ) : BasePref(key) { @@ -51,6 +51,15 @@ class BooleanPref( override fun put(editor : SharedPreferences.Editor, v : Boolean) { editor.putBoolean(key, v) } + + // put if value is not default, remove if value is same to default + fun putOrRemove(editor : SharedPreferences.Editor, v : Boolean) { + if( v != defVal) { + editor.putBoolean(key, v) + }else{ + editor.remove(key) + } + } } class IntPref(key : String, val defVal : Int) : BasePref(key) { @@ -460,7 +469,7 @@ object Pref { val bpShowBookmarkButton = BooleanPref( "ShowBookmarkButton", - false, + true, R.id.swShowBookmarkButton )