From 41cebc554f74f27a88dbab752b515688088983f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Sun, 15 Dec 2019 21:27:50 +0100 Subject: [PATCH] [UI] 'Cause it's winter. --- app/build.gradle | 2 ++ .../szczodrzynski/edziennik/MainActivity.kt | 7 ++++ .../edziennik/config/ConfigUI.kt | 5 +++ .../modules/settings/SettingsNewFragment.java | 21 ++++++++++++ app/src/main/res/layout/activity_szkolny.xml | 34 +++++++++++-------- app/src/main/res/layout/snowfall.xml | 8 +++++ app/src/main/res/values/strings.xml | 6 ++++ 7 files changed, 69 insertions(+), 14 deletions(-) create mode 100644 app/src/main/res/layout/snowfall.xml diff --git a/app/build.gradle b/app/build.gradle index 69bf80d7..f7131927 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -185,6 +185,8 @@ dependencies { implementation "com.squareup.retrofit2:retrofit:${versions.retrofit}" implementation "com.squareup.retrofit2:converter-gson:${versions.retrofit}" + + implementation 'com.github.jetradarmobile:android-snowfall:1.2.0' } repositories { mavenCentral() diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt index 4b071078..e4d8ceae 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt @@ -73,6 +73,7 @@ import pl.szczodrzynski.edziennik.utils.Utils import pl.szczodrzynski.edziennik.utils.Utils.d import pl.szczodrzynski.edziennik.utils.Utils.dpToPx import pl.szczodrzynski.edziennik.utils.appManagerIntentList +import pl.szczodrzynski.edziennik.utils.models.Date import pl.szczodrzynski.edziennik.utils.models.NavTarget import pl.szczodrzynski.navlib.* import pl.szczodrzynski.navlib.SystemBarsUtil.Companion.COLOR_HALF_TRANSPARENT @@ -414,6 +415,12 @@ class MainActivity : AppCompatActivity() { } } + // IT'S WINTER MY DUDES + val today = Date.getToday() + if ((today.month == 12 || today.month == 1) && app.config.ui.snowfall) { + b.rootFrame.addView(layoutInflater.inflate(R.layout.snowfall, b.rootFrame, false)) + } + // WHAT'S NEW DIALOG if (app.config.appVersion < BuildConfig.VERSION_CODE) { ServerRequest(app, app.requestScheme + APP_URL + "main.php?just_updated", "MainActivity/JU") diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/config/ConfigUI.kt b/app/src/main/java/pl/szczodrzynski/edziennik/config/ConfigUI.kt index 54ede475..04952148 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/config/ConfigUI.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/config/ConfigUI.kt @@ -54,4 +54,9 @@ class ConfigUI(private val config: Config) { var homeCards: List get() { mHomeCards = mHomeCards ?: config.values.get("homeCards", listOf(), HomeCardModel::class.java); return mHomeCards ?: listOf() } set(value) { config.set("homeCards", value); mHomeCards = value } + + private var mSnowfall: Boolean? = null + var snowfall: Boolean + get() { mSnowfall = mSnowfall ?: config.values.get("snowfall", false); return mSnowfall ?: false } + set(value) { config.set("snowfall", value); mSnowfall = value } } 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 6ea1212f..9ee687a8 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 @@ -56,6 +56,7 @@ import pl.szczodrzynski.edziennik.ui.modules.home.HomeFragment; import pl.szczodrzynski.edziennik.ui.modules.webpush.WebPushConfigActivity; import pl.szczodrzynski.edziennik.utils.Themes; import pl.szczodrzynski.edziennik.utils.Utils; +import pl.szczodrzynski.edziennik.utils.models.Date; import pl.szczodrzynski.edziennik.utils.models.Time; import static android.app.Activity.RESULT_OK; @@ -283,6 +284,26 @@ public class SettingsNewFragment extends MaterialAboutFragment { ArrayList items = new ArrayList<>(); if (!expandedOnly) { + Date today = Date.getToday(); + if (today.month == 12 || today.month == 1) { + items.add( + new MaterialAboutSwitchItem( + getString(R.string.settings_theme_snowfall_text), + getString(R.string.settings_theme_snowfall_subtext), + new IconicsDrawable(activity) + .icon(CommunityMaterial.Icon2.cmd_snowflake) + .size(IconicsSize.dp(iconSizeDp)) + .color(IconicsColor.colorInt(iconColor)) + ) + .setChecked(app.config.getUi().getSnowfall()) + .setOnChangeAction((isChecked, tag) -> { + app.config.getUi().setSnowfall(isChecked); + activity.recreate(); + return true; + }) + ); + } + items.add( new MaterialAboutActionItem( getString(R.string.settings_theme_theme_text), diff --git a/app/src/main/res/layout/activity_szkolny.xml b/app/src/main/res/layout/activity_szkolny.xml index 787affe5..7ce06741 100644 --- a/app/src/main/res/layout/activity_szkolny.xml +++ b/app/src/main/res/layout/activity_szkolny.xml @@ -1,31 +1,37 @@ - + android:layout_height="match_parent"> - + android:layout_height="match_parent" + android:animateLayoutChanges="true"> - - - + - + + - + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/snowfall.xml b/app/src/main/res/layout/snowfall.xml new file mode 100644 index 00000000..d6ec4853 --- /dev/null +++ b/app/src/main/res/layout/snowfall.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a16c4fac..74be80c5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1067,4 +1067,10 @@ Nieprawidłowy kod lub PIN Nieprawidłowy kod Podaj kod + Dodano %1$s przez %2$s%3$s + Dodano %1$s%3$s + Udostępniono %1$s przez %2$s%3$s + Udostępniono %1$s przez Ciebie%3$s + Pada śnieg, pada śnieg + Dzwonią dzwonki sań