From 5c84086f42bb1b0d3585a57e352d275fc7144098 Mon Sep 17 00:00:00 2001 From: Kacper Ziubryniewicz Date: Wed, 14 Oct 2020 22:26:47 +0200 Subject: [PATCH] [Settings/Grades] Add hiding sticks from old. --- .../edziennik/config/ProfileConfigGrades.kt | 5 +++++ .../ui/modules/grades/GradesListFragment.kt | 7 ++++++- .../modules/settings/SettingsNewFragment.java | 18 ++++++++++++++++++ app/src/main/res/values-en/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 5 files changed, 31 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/config/ProfileConfigGrades.kt b/app/src/main/java/pl/szczodrzynski/edziennik/config/ProfileConfigGrades.kt index 490fe2dd..6434aac7 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/config/ProfileConfigGrades.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/config/ProfileConfigGrades.kt @@ -49,4 +49,9 @@ class ProfileConfigGrades(private val config: ProfileConfig) { var dontCountGrades: List get() { mDontCountGrades = mDontCountGrades ?: config.values.get("dontCountGrades", listOf()); return mDontCountGrades ?: listOf() } set(value) { config.set("dontCountGrades", value); mDontCountGrades = value } + + private var mHideSticksFromOld: Boolean? = null + var hideSticksFromOld: Boolean + get() { mHideSticksFromOld = mHideSticksFromOld ?: config.values.get("hideSticksFromOld", false); return mHideSticksFromOld ?: false } + set(value) { config.set("hideSticksFromOld", value); mHideSticksFromOld = value } } diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/grades/GradesListFragment.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/grades/GradesListFragment.kt index 901ad0cf..33d69c60 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/grades/GradesListFragment.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/grades/GradesListFragment.kt @@ -71,9 +71,14 @@ class GradesListFragment : Fragment(), CoroutineScope { val adapter = GradesAdapter(activity) var firstRun = true - app.db.gradeDao().getAllOrderBy(App.profileId, app.gradesManager.getOrderByString()).observe(this@GradesListFragment, Observer { items -> this@GradesListFragment.launch { + app.db.gradeDao().getAllOrderBy(App.profileId, app.gradesManager.getOrderByString()).observe(this@GradesListFragment, Observer { grades -> this@GradesListFragment.launch { if (!isAdded) return@launch + val items = when { + app.config.forProfile().grades.hideSticksFromOld && App.devMode -> grades.filter { it.value != 1.0f } + else -> grades + } + // load & configure the adapter adapter.items = withContext(Dispatchers.Default) { processGrades(items) } if (items.isNotNullNorEmpty() && b.list.adapter == null) { diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/settings/SettingsNewFragment.java b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/settings/SettingsNewFragment.java index 2c84c878..534c6b0d 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/settings/SettingsNewFragment.java +++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/settings/SettingsNewFragment.java @@ -1059,6 +1059,24 @@ public class SettingsNewFragment extends MaterialAboutFragment { ); } + if (App.Companion.getDevMode()) { + items.add( + new MaterialAboutSwitchItem( + getString(R.string.settings_register_hide_sticks_from_old), + null, + new IconicsDrawable(activity) + .icon(CommunityMaterial.Icon2.cmd_numeric_1_box_outline) + .size(IconicsSize.dp(iconSizeDp)) + .color(IconicsColor.colorInt(iconColor)) + ) + .setChecked(app.getConfig().forProfile().getGrades().getHideSticksFromOld()) + .setOnChangeAction((isChecked, tag) -> { + app.getConfig().forProfile().getGrades().setHideSticksFromOld(isChecked); + return true; + }) + ); + } + } return items; } diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 58de31ae..f4a89910 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -1233,4 +1233,5 @@ In order to download the file, you have to grant file storage permission for the application.\n\nClick OK to grant the permission. You denied the required permissions for the application.\n\nIn order to grant the permission, open the Permissions screen for Szkolny.eu in phone settings.\n\nClick OK to open app settings now. Required permissions + Your mother won\'t see your F grades diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7e3498b4..eb594d6d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1378,4 +1378,5 @@ Zobacz więcej Aktualizuj Dowiedz się więcej + Stara nie zobaczy pał