From 84067126a1d711f0232adad5ada3956df4c2c884 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Apr 2022 08:09:46 +0000 Subject: [PATCH 1/8] Bump hianalytics from 6.4.1.300 to 6.4.1.301 (#1819) --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 9c056c54..92e16010 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -241,7 +241,7 @@ dependencies { playImplementation 'com.google.android.play:core-ktx:1.8.1' playImplementation 'com.google.android.gms:play-services-ads:20.6.0' - hmsImplementation 'com.huawei.hms:hianalytics:6.4.1.300' + hmsImplementation 'com.huawei.hms:hianalytics:6.4.1.301' hmsImplementation 'com.huawei.agconnect:agconnect-crash:1.6.5.200' releaseImplementation "com.github.ChuckerTeam.Chucker:library-no-op:$chucker" From 3347e8fba8c42bb5d40cd496bbd4b2891b97235f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Apr 2022 08:10:07 +0000 Subject: [PATCH 2/8] Bump kotlin_version from 1.6.10 to 1.6.20 (#1818) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 742d3956..9aa30944 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ buildscript { ext { - kotlin_version = '1.6.10' + kotlin_version = '1.6.20' about_libraries = '8.9.4' hilt_version = "2.41" } From 6531061b48449693965fea7d8bc64fea90592dca Mon Sep 17 00:00:00 2001 From: Mat Lee <98318975+zlewchan@users.noreply.github.com> Date: Tue, 5 Apr 2022 10:30:49 +0200 Subject: [PATCH 3/8] Fix text aligment in exam dialog (#1821) --- app/src/main/res/layout/dialog_exam.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/layout/dialog_exam.xml b/app/src/main/res/layout/dialog_exam.xml index 57ed9d45..0d04b1fa 100644 --- a/app/src/main/res/layout/dialog_exam.xml +++ b/app/src/main/res/layout/dialog_exam.xml @@ -146,7 +146,7 @@ android:id="@+id/examDialogDeadlineDateValue" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="0dp" + android:layout_marginStart="16dp" android:layout_marginEnd="24dp" android:paddingStart="0dp" android:paddingEnd="16dp" @@ -162,7 +162,7 @@ android:id="@+id/examDialogEntryDateTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="0dp" + android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:layout_marginEnd="24dp" android:text="@string/exam_entry_date" From d473d53879385891aefcb4d9a560ef3e34c6e5a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Tue, 5 Apr 2022 13:56:11 +0200 Subject: [PATCH 4/8] Add standard register variant as translatable string (#1824) --- app/src/main/res/values/api_hosts.xml | 2 +- app/src/main/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values/api_hosts.xml b/app/src/main/res/values/api_hosts.xml index b3b434e1..8413d68e 100644 --- a/app/src/main/res/values/api_hosts.xml +++ b/app/src/main/res/values/api_hosts.xml @@ -1,7 +1,7 @@ - Standardowa + @string/login_host_standard Opolska eSzkoła Gdańska Platforma Edukacyjna Lubelski Portal Oświatowy diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2763f00d..ff25da7f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -77,6 +77,7 @@ Recover your account Recover Student is already signed in + Standard From 679cf2554de22d824cd39fbc6ac3db94bbb96686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Wed, 6 Apr 2022 08:01:11 +0200 Subject: [PATCH 5/8] Fix text in lucky number widget (#1825) --- .../ui/modules/luckynumberwidget/LuckyNumberWidgetProvider.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumberwidget/LuckyNumberWidgetProvider.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumberwidget/LuckyNumberWidgetProvider.kt index e016c07e..e03e3e90 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumberwidget/LuckyNumberWidgetProvider.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/luckynumberwidget/LuckyNumberWidgetProvider.kt @@ -78,7 +78,7 @@ class LuckyNumberWidgetProvider : AppWidgetProvider() { .apply { setTextViewText( R.id.luckyNumberWidgetNumber, - luckyNumber.dataOrNull?.toString() ?: "#" + luckyNumber.dataOrNull?.luckyNumber?.toString() ?: "#" ) setOnClickPendingIntent(R.id.luckyNumberWidgetContainer, appIntent) } From cb4ae21903680b4fc0c78496f81fe3727748ee4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Wed, 6 Apr 2022 08:01:41 +0200 Subject: [PATCH 6/8] Replace Serializable to Parcelable in Destination (#1823) --- .../wulkanowy/ui/modules/Destination.kt | 19 +++++++++++++++++-- .../wulkanowy/ui/modules/main/MainActivity.kt | 2 +- .../ui/modules/splash/SplashActivity.kt | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/Destination.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/Destination.kt index f49c4889..f8c456fe 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/Destination.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/Destination.kt @@ -1,5 +1,6 @@ package io.github.wulkanowy.ui.modules +import android.os.Parcelable import androidx.fragment.app.Fragment import io.github.wulkanowy.data.serializers.LocalDateSerializer import io.github.wulkanowy.ui.modules.attendance.AttendanceFragment @@ -15,11 +16,12 @@ import io.github.wulkanowy.ui.modules.note.NoteFragment import io.github.wulkanowy.ui.modules.schoolandteachers.school.SchoolFragment import io.github.wulkanowy.ui.modules.schoolannouncement.SchoolAnnouncementFragment import io.github.wulkanowy.ui.modules.timetable.TimetableFragment +import kotlinx.parcelize.Parcelize import kotlinx.serialization.Serializable import java.time.LocalDate @Serializable -sealed class Destination private constructor() : java.io.Serializable { +sealed class Destination private constructor() : Parcelable { /* Type in children classes have to be as getter to avoid null in enums @@ -45,30 +47,35 @@ sealed class Destination private constructor() : java.io.Serializable { MESSAGE(Message); } + @Parcelize @Serializable object Dashboard : Destination() { override val type get() = Type.DASHBOARD override val fragment get() = DashboardFragment.newInstance() } + @Parcelize @Serializable object Grade : Destination() { override val type get() = Type.GRADE override val fragment get() = GradeFragment.newInstance() } + @Parcelize @Serializable object Attendance : Destination() { override val type get() = Type.ATTENDANCE override val fragment get() = AttendanceFragment.newInstance() } + @Parcelize @Serializable object Exam : Destination() { override val type get() = Type.EXAM override val fragment get() = ExamFragment.newInstance() } + @Parcelize @Serializable data class Timetable( @Serializable(with = LocalDateSerializer::class) @@ -78,51 +85,59 @@ sealed class Destination private constructor() : java.io.Serializable { override val fragment get() = TimetableFragment.newInstance(date) } + @Parcelize @Serializable object Homework : Destination() { override val type get() = Type.HOMEWORK override val fragment get() = HomeworkFragment.newInstance() } + @Parcelize @Serializable object Note : Destination() { override val type get() = Type.NOTE override val fragment get() = NoteFragment.newInstance() } + @Parcelize @Serializable object Conference : Destination() { override val type get() = Type.CONFERENCE override val fragment get() = ConferenceFragment.newInstance() } + @Parcelize @Serializable object SchoolAnnouncement : Destination() { override val type get() = Type.SCHOOL_ANNOUNCEMENT override val fragment get() = SchoolAnnouncementFragment.newInstance() } + @Parcelize @Serializable object School : Destination() { override val type get() = Type.SCHOOL override val fragment get() = SchoolFragment.newInstance() } + @Parcelize @Serializable object LuckyNumber : Destination() { override val type get() = Type.LUCKY_NUMBER override val fragment get() = LuckyNumberFragment.newInstance() } + @Parcelize @Serializable object More : Destination() { override val type get() = Type.MORE override val fragment get() = MoreFragment.newInstance() } + @Parcelize @Serializable object Message : Destination() { override val type get() = Type.MESSAGE override val fragment get() = MessageFragment.newInstance() } -} \ No newline at end of file +} diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt index 0cd38ac7..d1f32447 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainActivity.kt @@ -86,7 +86,7 @@ class MainActivity : BaseActivity(), MainVie messageContainer = binding.mainMessageContainer updateHelper.messageContainer = binding.mainFragmentContainer - val destination = (intent.getSerializableExtra(EXTRA_START_DESTINATION) as Destination?) + val destination = (intent.getParcelableExtra(EXTRA_START_DESTINATION) as Destination?) ?.takeIf { savedInstanceState == null } presenter.onAttachView(this, destination) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashActivity.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashActivity.kt index a86024e4..24347e73 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashActivity.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/splash/SplashActivity.kt @@ -45,7 +45,7 @@ class SplashActivity : BaseActivity(), SplashView installSplashScreen().setKeepOnScreenCondition { true } val externalLink = intent?.getStringExtra(EXTRA_EXTERNAL_URL) - val startDestination = intent?.getSerializableExtra(EXTRA_START_DESTINATION) as Destination? + val startDestination = intent?.getParcelableExtra(EXTRA_START_DESTINATION) as Destination? ?: shortcutsHelper.getDestination(intent) presenter.onAttachView(this, externalLink, startDestination) From 0a87df3d827f7f955366c45c1bccc1e13226fe1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Wed, 6 Apr 2022 17:19:38 +0200 Subject: [PATCH 7/8] New Crowdin updates (#1817) --- app/src/main/res/values-cs/strings.xml | 7 ++++--- app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-pl/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values-sk/strings.xml | 1 + app/src/main/res/values-uk/strings.xml | 1 + 6 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 555da8df..11054a0e 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -71,6 +71,7 @@ Obnovte svůj účet Obnovit Žák je už přihlášen + Standardní Manažer účtů Přihlásit se @@ -93,9 +94,9 @@ Předpokládaná známka Vypočítaný průměr Jak funguje vypočítaný průměr? - Vypočítaný průměr je aritmetický průměr vypočítaný z průměrů předmětů. Umožňuje vám to znát přibližný konečný průměr. Vypočítává se způsobem zvoleným uživatelem v nastavení aplikaci. Doporučuje se vybrat příslušnou možnost. Důvodem je rozdílný výpočet školních průměrů. Pokud vaše škola navíc uvádí průměr předmětů na stránce deníku Vulcan, aplikace si je stáhne a tyto průměry nepočítá. To lze změnit vynucením výpočtu průměru v nastavení aplikaci.\n\nPrůměr známek pouze z vybraného semestru:\n1. Výpočet váženého průměru pro každý předmět v daném semestru\n2. Sčítání vypočítaných průměrů\n3. Výpočet aritmetického průměru součtených průměrů\n\nPrůměr průměrů z obou semestrů:\n1. Výpočet váženého průměru pro každý předmět v semestru 1 a 2\n2. Výpočet aritmetického průměru vypočítaných průměrů za semestry 1 a 2 pro každý předmět.\n3. Sčítání vypočítaných průměrů\n4. Výpočet aritmetického průměru součtených průměrů\n\nPrůměr známek z celého roku:\n1. Výpočet váženého průměru za rok pro každý předmět. Konečný průměr v 1. semestru je nepodstatný.\n3. Sčítání vypočítaných průměrů\n4. Výpočet aritmetického průměru součtených průměrů + Vypočítaný průměr je aritmetický průměr vypočítaný z průměrů předmětů. Umožňuje vám to znát přibližný konečný průměr. Vypočítává se způsobem zvoleným uživatelem v nastavení aplikaci. Doporučuje se vybrat příslušnou možnost. Důvodem je rozdílný výpočet školních průměrů. Pokud vaše škola navíc uvádí průměr předmětů na stránce deníku Vulcan, aplikace si je stáhne a tyto průměry nepočítá. To lze změnit vynucením výpočtu průměru v nastavení aplikaci.\n\nPrůměr známek pouze z vybraného semestru:\n1. Výpočet váženého průměru pro každý předmět v daném semestru\n2. Sčítání vypočítaných průměrů\n3. Výpočet aritmetického průměru součtených průměrů\n\nPrůměr průměrů z obou semestrů:\n1. Výpočet váženého průměru pro každý předmět v semestru 1 a 2\n2. Výpočet aritmetického průměru vypočítaných průměrů za semestry 1 a 2 pro každý předmět.\n3. Sčítání vypočítaných průměrů\n4. Výpočet aritmetického průměru sečtených průměrů\n\nPrůměr známek z celého roku:\n1. Výpočet váženého průměru za rok pro každý předmět. Konečný průměr v 1. semestru je nepodstatný.\n3. Sčítání vypočítaných průměrů\n4. Výpočet aritmetického průměru součtených průměrů Jak funguje konečný průměr? - Konečný průměr je aritmetický průměr vypočítaný ze všech aktuálně dostupných konečných známek v daném semestru.\n\nSchéma výpočtu se skládá z následujících kroků:\n1. Sčítání konečných známek zadaných učiteli\n2. Děleno počtem předmětů, pro které už byly vydány známky + Konečný průměr je aritmetický průměr vypočítaný ze všech aktuálně dostupných konečných známek v daném semestru.\n\nSchéma výpočtu se skládá z následujících kroků:\n1. Sčítání konečných známek zadaných učiteli\n2. Děleno počtem předmětů, pro které už byly uděleny známky Konečný průměr z %1$d z %2$d předmětů Shrnutí @@ -219,7 +220,7 @@ Čas ukončení musí být pozdější než čas zahájení Shrnutí frekvencí - Neprítomnosť zo školských dôvodov + Nepřítomnost ze školních důvodů Omluvená nepřítomnost Neomluvená nepřítomnost Osvobození diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 8492f646..86308aa1 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -71,6 +71,7 @@ Ihr Konto wiederherstellen Wiederherstellen Student ist bereits angemeldet + Standard Kundenbetreuer Anmelden diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 2c8a83cc..1607b17c 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -71,6 +71,7 @@ Przywróć swoje konto Przywróć Uczeń jest już zalogowany + Standardowa Menadżer kont Zaloguj się diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 1ddcaf4c..909a627c 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -71,6 +71,7 @@ Восстановите свой аккаунт Восстановить Студент уже вошел в систему + Стандартный Менеджер аккаунтов Войти diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 804473ad..5ebd1e76 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -71,6 +71,7 @@ Obnovte svoj účet Obnoviť Žiak je už prihlásený + Štandardná Manažér účtov Prihlásiť sa diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index c53161e7..7e01f70b 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -71,6 +71,7 @@ Відновіть свій обліковий запис Відновити Учень вже увійшов до системи + Стандартний Менеджер аккаунтів Увійти From 391ee6e621e4a4d125fcf0acf0a93e79ed031e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Pich?= Date: Wed, 6 Apr 2022 17:27:27 +0200 Subject: [PATCH 8/8] Version 1.6.1 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 92e16010..56137fff 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -22,8 +22,8 @@ android { testApplicationId "io.github.tests.wulkanowy" minSdkVersion 21 targetSdkVersion 31 - versionCode 104 - versionName "1.6.0" + versionCode 105 + versionName "1.6.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" resValue "string", "app_name", "Wulkanowy"