From a70ccbb0d0828a99512ae032afd46918379ab1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Pich?= Date: Sun, 24 Jan 2021 17:20:26 +0100 Subject: [PATCH 001/569] Make strings in grade class stats translatable (#1092) --- app/build.gradle | 2 +- .../statistics/GradeStatisticsAdapter.kt | 47 ++++++++++--------- .../statistics/GradeStatisticsPresenter.kt | 1 + app/src/main/res/values/strings.xml | 4 ++ 4 files changed, 32 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6ccd6152f..12ab69eda 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -138,7 +138,7 @@ ext { } dependencies { - implementation "io.github.wulkanowy:sdk:0.24.1" + implementation "io.github.wulkanowy:sdk:a722e777" coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1' diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsAdapter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsAdapter.kt index cbcb444a1..0ffb42257 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsAdapter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsAdapter.kt @@ -78,18 +78,18 @@ class GradeStatisticsAdapter @Inject constructor() : override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { when (holder) { - is PartialViewHolder -> bindPartialChart(holder, items[position].partial!!) - is SemesterViewHolder -> bindSemesterChart(holder, items[position].semester!!) - is PointsViewHolder -> bindBarChart(holder, items[position].points!!) + is PartialViewHolder -> bindPartialChart(holder.binding, items[position].partial!!) + is SemesterViewHolder -> bindSemesterChart(holder.binding, items[position].semester!!) + is PointsViewHolder -> bindBarChart(holder.binding, items[position].points!!) } } - private fun bindPartialChart(holder: PartialViewHolder, partials: GradePartialStatistics) { - bindPieChart(holder.binding, partials.subject, partials.classAverage, partials.classAmounts) + private fun bindPartialChart(binding: ItemGradeStatisticsPieBinding, partials: GradePartialStatistics) { + bindPieChart(binding, partials.subject, partials.classAverage, partials.classAmounts) } - private fun bindSemesterChart(holder: SemesterViewHolder, semester: GradeSemesterStatistics) { - bindPieChart(holder.binding, semester.subject, semester.average, semester.amounts) + private fun bindSemesterChart(binding: ItemGradeStatisticsPieBinding, semester: GradeSemesterStatistics) { + bindPieChart(binding, semester.subject, semester.average, semester.amounts) } private fun bindPieChart(binding: ItemGradeStatisticsPieBinding, subject: String, average: String, amounts: List) { @@ -103,9 +103,12 @@ class GradeStatisticsAdapter @Inject constructor() : else -> materialGradeColors } - val dataset = PieDataSet(amounts.mapIndexed { grade, amount -> - PieEntry(amount.toFloat(), (grade + 1).toString()) - }.reversed().filterNot { it.value == 0f }, "Legenda") + val dataset = PieDataSet( + amounts.mapIndexed { grade, amount -> + PieEntry(amount.toFloat(), (grade + 1).toString()) + }.reversed().filterNot { it.value == 0f }, + binding.root.context.getString(R.string.grade_statistics_legend) + ) with(dataset) { valueTextSize = 12f @@ -138,11 +141,13 @@ class GradeStatisticsAdapter @Inject constructor() : }) } + val numberOfGradesString = amounts.fold(0) { acc, it -> acc + it } + .let { resources.getQuantityString(R.plurals.grade_number_item, it, it) } + val averageString = binding.root.context.getString(R.string.grade_statistics_average, average) + minAngleForSlices = 25f description.isEnabled = false - centerText = amounts.fold(0) { acc, it -> acc + it } - .let { resources.getQuantityString(R.plurals.grade_number_item, it, it) } + - ("\n\nŚrednia: $average").takeIf { average.isNotBlank() }.orEmpty() + centerText = numberOfGradesString + ("\n\n" + averageString).takeIf { average.isNotBlank() }.orEmpty() setHoleColor(context.getThemeAttrColor(android.R.attr.windowBackground)) setCenterTextColor(context.getThemeAttrColor(android.R.attr.textColorPrimary)) @@ -150,8 +155,8 @@ class GradeStatisticsAdapter @Inject constructor() : } } - private fun bindBarChart(holder: PointsViewHolder, points: GradePointsStatistics) { - with(holder.binding.gradeStatisticsBarTitle) { + private fun bindBarChart(binding: ItemGradeStatisticsBarBinding, points: GradePointsStatistics) { + with(binding.gradeStatisticsBarTitle) { text = points.subject visibility = if (items.size == 1) GONE else VISIBLE } @@ -159,18 +164,18 @@ class GradeStatisticsAdapter @Inject constructor() : val dataset = BarDataSet(listOf( BarEntry(1f, points.others.toFloat()), BarEntry(2f, points.student.toFloat()) - ), "Legenda") + ), binding.root.context.getString(R.string.grade_statistics_legend)) with(dataset) { valueTextSize = 12f - valueTextColor = holder.binding.root.context.getThemeAttrColor(android.R.attr.textColorPrimary) + valueTextColor = binding.root.context.getThemeAttrColor(android.R.attr.textColorPrimary) valueFormatter = object : ValueFormatter() { override fun getBarLabel(barEntry: BarEntry) = "${barEntry.y}%" } colors = gradePointsColors } - with(holder.binding.gradeStatisticsBar) { + with(binding.gradeStatisticsBar) { setTouchEnabled(false) if (items.size == 1) animateXY(1000, 1000) data = BarData(dataset).apply { @@ -179,12 +184,12 @@ class GradeStatisticsAdapter @Inject constructor() : } legend.setCustom(listOf( LegendEntry().apply { - label = "Średnia klasy" + label = binding.root.context.getString(R.string.grade_statistics_average_class) formColor = gradePointsColors[0] form = Legend.LegendForm.SQUARE }, LegendEntry().apply { - label = "Uczeń" + label = binding.root.context.getString(R.string.grade_statistics_average_student) formColor = gradePointsColors[1] form = Legend.LegendForm.SQUARE } @@ -193,7 +198,7 @@ class GradeStatisticsAdapter @Inject constructor() : description.isEnabled = false - holder.binding.root.context.getThemeAttrColor(android.R.attr.textColorPrimary).let { + binding.root.context.getThemeAttrColor(android.R.attr.textColorPrimary).let { axisLeft.textColor = it axisRight.textColor = it } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsPresenter.kt index 37f478693..47ea52d35 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsPresenter.kt @@ -172,6 +172,7 @@ class GradeStatisticsPresenter @Inject constructor( showErrorView(false) enableSwipe(true) showRefresh(true) + showProgress(false) updateData(it.data!!, preferencesRepository.gradeColorTheme, preferencesRepository.showAllSubjectsOnStatisticsList) showSubjects(!preferencesRepository.showAllSubjectsOnStatisticsList) } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9d707d094..4364214cf 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -105,6 +105,10 @@ Partial Semester Points + Legend + Average: %1$s + Class + Student %d grade %d grades From 52d359827edffb5f770fd9504cac5413c37e0f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Pich?= Date: Sun, 24 Jan 2021 17:21:02 +0100 Subject: [PATCH 002/569] Fix translations of month name in attendance summary (#1091) --- .../github/wulkanowy/utils/TimeExtension.kt | 25 +++++-------------- .../wulkanowy/utils/TimeExtensionTest.kt | 17 +++++++++++-- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/io/github/wulkanowy/utils/TimeExtension.kt b/app/src/main/java/io/github/wulkanowy/utils/TimeExtension.kt index 9bd30e878..d80abbd12 100644 --- a/app/src/main/java/io/github/wulkanowy/utils/TimeExtension.kt +++ b/app/src/main/java/io/github/wulkanowy/utils/TimeExtension.kt @@ -1,6 +1,7 @@ package io.github.wulkanowy.utils import android.annotation.SuppressLint +import java.text.SimpleDateFormat import java.time.DayOfWeek.FRIDAY import java.time.DayOfWeek.MONDAY import java.time.DayOfWeek.SATURDAY @@ -8,12 +9,12 @@ import java.time.DayOfWeek.SUNDAY import java.time.Instant.ofEpochMilli import java.time.LocalDate import java.time.LocalDateTime +import java.time.LocalDateTime.now import java.time.LocalDateTime.ofInstant import java.time.Month import java.time.ZoneId import java.time.ZoneOffset import java.time.format.DateTimeFormatter.ofPattern -import java.time.format.TextStyle.FULL import java.time.temporal.TemporalAdjusters.firstInMonth import java.time.temporal.TemporalAdjusters.next import java.time.temporal.TemporalAdjusters.previous @@ -33,24 +34,10 @@ fun LocalDateTime.toFormattedString(format: String = DATE_PATTERN): String = for @SuppressLint("DefaultLocale") fun Month.getFormattedName(): String { - return getDisplayName(FULL, Locale.getDefault()) - .let { - when (it) { - "stycznia" -> "Styczeń" - "lutego" -> "Luty" - "marca" -> "Marzec" - "kwietnia" -> "Kwiecień" - "maja" -> "Maj" - "czerwca" -> "Czerwiec" - "lipca" -> "Lipiec" - "sierpnia" -> "Sierpień" - "września" -> "Wrzesień" - "października" -> "Październik" - "listopada" -> "Listopad" - "grudnia" -> "Grudzień" - else -> it - } - }.capitalize() + val formatter = SimpleDateFormat("LLLL", Locale.getDefault()) + + val date = now().withMonth(value) + return formatter.format(date.toInstant(ZoneOffset.UTC).toEpochMilli()).capitalize() } inline val LocalDate.nextSchoolDay: LocalDate diff --git a/app/src/test/java/io/github/wulkanowy/utils/TimeExtensionTest.kt b/app/src/test/java/io/github/wulkanowy/utils/TimeExtensionTest.kt index 3336c0d9d..0ffbf78ec 100644 --- a/app/src/test/java/io/github/wulkanowy/utils/TimeExtensionTest.kt +++ b/app/src/test/java/io/github/wulkanowy/utils/TimeExtensionTest.kt @@ -50,15 +50,28 @@ class TimeExtensionTest { fun monthNameTest() { Locale.setDefault(Locale.forLanguageTag("PL")) assertEquals("Styczeń", JANUARY.getFormattedName()) - Locale.setDefault(Locale.forLanguageTag("EN")) + + Locale.setDefault(Locale.forLanguageTag("CS")) + assertEquals("Leden", JANUARY.getFormattedName()) + + Locale.setDefault(Locale.ENGLISH) assertEquals("January", JANUARY.getFormattedName()) + + Locale.setDefault(Locale.forLanguageTag("DE")) + assertEquals("Januar", JANUARY.getFormattedName()) + + Locale.setDefault(Locale.forLanguageTag("RU")) + assertEquals("Январь", JANUARY.getFormattedName()) + + Locale.setDefault(Locale.forLanguageTag("UK")) + assertEquals("Січень", JANUARY.getFormattedName()) } @Test fun weekDayNameTest() { Locale.setDefault(Locale.forLanguageTag("PL")) assertEquals("poniedziałek", of(2018, 10, 1).weekDayName) - Locale.setDefault(Locale.forLanguageTag("EN")) + Locale.setDefault(Locale.ENGLISH) assertEquals("Monday", of(2018, 10, 1).weekDayName) } From 3a887f597be49ec2c482708b22a48008e8a7de3c Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Sun, 24 Jan 2021 16:52:16 +0000 Subject: [PATCH 003/569] Bump hilt_version from 2.30.1-alpha to 2.31.2-alpha (#1094) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 81794ab6b..b2e026268 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { kotlin_version = '1.4.21' about_libraries = '8.6.7' - hilt_version = "2.30.1-alpha" + hilt_version = "2.31.2-alpha" } repositories { mavenCentral() From f37ddfe00f3b647d0cfa23c340b1178edc9dc597 Mon Sep 17 00:00:00 2001 From: Damian Czupryn <60961958+Daxxxis@users.noreply.github.com> Date: Sun, 24 Jan 2021 20:01:18 +0100 Subject: [PATCH 004/569] Disable vibrations in data picker (#1093) --- .../github/wulkanowy/ui/modules/attendance/AttendanceFragment.kt | 1 + .../github/wulkanowy/ui/modules/timetable/TimetableFragment.kt | 1 + .../ui/modules/timetable/additional/AdditionalLessonsFragment.kt | 1 + .../ui/modules/timetable/completed/CompletedLessonsFragment.kt | 1 + 4 files changed, 4 insertions(+) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/attendance/AttendanceFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/attendance/AttendanceFragment.kt index a106bc501..83ed163fe 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/attendance/AttendanceFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/attendance/AttendanceFragment.kt @@ -222,6 +222,7 @@ class AttendanceFragment : BaseFragment(R.layout.frag setDateRangeLimiter(SchooldaysRangeLimiter()) version = DatePickerDialog.Version.VERSION_2 scrollOrientation = DatePickerDialog.ScrollOrientation.VERTICAL + vibrate(false) show(this@AttendanceFragment.parentFragmentManager, null) } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/TimetableFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/TimetableFragment.kt index 1bb9c920b..21585cc9b 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/TimetableFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/TimetableFragment.kt @@ -176,6 +176,7 @@ class TimetableFragment : BaseFragment(R.layout.fragme setDateRangeLimiter(SchooldaysRangeLimiter()) version = DatePickerDialog.Version.VERSION_2 scrollOrientation = DatePickerDialog.ScrollOrientation.VERTICAL + vibrate(false) show(this@TimetableFragment.parentFragmentManager, null) } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/additional/AdditionalLessonsFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/additional/AdditionalLessonsFragment.kt index 17a1cabeb..559366a93 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/additional/AdditionalLessonsFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/additional/AdditionalLessonsFragment.kt @@ -128,6 +128,7 @@ class AdditionalLessonsFragment : setDateRangeLimiter(SchooldaysRangeLimiter()) version = DatePickerDialog.Version.VERSION_2 scrollOrientation = DatePickerDialog.ScrollOrientation.VERTICAL + vibrate(false) show(this@AdditionalLessonsFragment.parentFragmentManager, null) } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/completed/CompletedLessonsFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/completed/CompletedLessonsFragment.kt index 828e10014..f8634a9b5 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/completed/CompletedLessonsFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/timetable/completed/CompletedLessonsFragment.kt @@ -147,6 +147,7 @@ class CompletedLessonsFragment : setDateRangeLimiter(SchooldaysRangeLimiter()) version = DatePickerDialog.Version.VERSION_2 scrollOrientation = DatePickerDialog.ScrollOrientation.VERTICAL + vibrate(false) show(this@CompletedLessonsFragment.parentFragmentManager, null) } } From e0b067faddfdbe6bbc5ffec504badbf2aaacec6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Wed, 27 Jan 2021 00:18:56 +0100 Subject: [PATCH 005/569] Fix selected semester after change account (#1097) --- .../io/github/wulkanowy/ui/modules/grade/GradeFragment.kt | 8 +------- .../github/wulkanowy/ui/modules/grade/GradePresenter.kt | 6 ++---- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradeFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradeFragment.kt index 0678e13ef..91e39e068 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradeFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradeFragment.kt @@ -33,7 +33,6 @@ class GradeFragment : BaseFragment(R.layout.fragment_grade private var semesterSwitchMenu: MenuItem? = null companion object { - private const val SAVED_SEMESTER_KEY = "CURRENT_SEMESTER" fun newInstance() = GradeFragment() } @@ -52,7 +51,7 @@ class GradeFragment : BaseFragment(R.layout.fragment_grade override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) binding = FragmentGradeBinding.bind(view) - presenter.onAttachView(this, savedInstanceState?.getInt(SAVED_SEMESTER_KEY)) + presenter.onAttachView(this) } override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { @@ -161,11 +160,6 @@ class GradeFragment : BaseFragment(R.layout.fragment_grade (pagerAdapter.getFragmentInstance(index) as? GradeView.GradeChildView)?.onParentChangeSemester() } - override fun onSaveInstanceState(outState: Bundle) { - super.onSaveInstanceState(outState) - outState.putInt(SAVED_SEMESTER_KEY, presenter.selectedIndex) - } - override fun onDestroyView() { presenter.onDetachView() super.onDestroyView() diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradePresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradePresenter.kt index d64613c01..bfc504d2c 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradePresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/GradePresenter.kt @@ -21,8 +21,7 @@ class GradePresenter @Inject constructor( private val analytics: AnalyticsHelper ) : BasePresenter(errorHandler, studentRepository) { - var selectedIndex = 0 - private set + private var selectedIndex = 0 private var schoolYear = 0 @@ -32,9 +31,8 @@ class GradePresenter @Inject constructor( private lateinit var lastError: Throwable - fun onAttachView(view: GradeView, savedIndex: Int?) { + override fun onAttachView(view: GradeView) { super.onAttachView(view) - selectedIndex = savedIndex ?: 0 view.initView() Timber.i("Grade view was initialized with $selectedIndex index") errorHandler.showErrorMessage = ::showErrorViewOnError From 6a8161cd98bd921bebe2c1c77c008ead85ac7880 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 28 Jan 2021 20:26:38 +0000 Subject: [PATCH 006/569] Bump firebase-bom from 26.3.0 to 26.4.0 (#1102) --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 12ab69eda..dec667561 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -194,7 +194,7 @@ dependencies { implementation "io.github.wulkanowy:AppKillerManager:3.0.0" implementation 'me.xdrop:fuzzywuzzy:1.3.1' - playImplementation platform('com.google.firebase:firebase-bom:26.3.0') + playImplementation platform('com.google.firebase:firebase-bom:26.4.0') playImplementation 'com.google.firebase:firebase-analytics-ktx' playImplementation 'com.google.firebase:firebase-inappmessaging-display-ktx' playImplementation "com.google.firebase:firebase-inappmessaging-ktx" From 5581fdcab85a3010452eb7ac831505254bc3c41c Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 28 Jan 2021 20:56:54 +0000 Subject: [PATCH 007/569] Bump google-services from 4.3.4 to 4.3.5 (#1104) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index b2e026268..5d76b1a0e 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,7 @@ buildscript { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.android.tools.build:gradle:4.1.2' classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version" - classpath 'com.google.gms:google-services:4.3.4' + classpath 'com.google.gms:google-services:4.3.5' classpath 'com.huawei.agconnect:agcp:1.4.2.301' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1' classpath "com.github.triplet.gradle:play-publisher:2.8.0" From 2bcbac5ab3b5c01f8553b1e091050933ab019540 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 28 Jan 2021 20:57:22 +0000 Subject: [PATCH 008/569] Bump about_libraries from 8.6.7 to 8.6.9 (#1098) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 5d76b1a0e..ca135f1e0 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ buildscript { ext { kotlin_version = '1.4.21' - about_libraries = '8.6.7' + about_libraries = '8.6.9' hilt_version = "2.31.2-alpha" } repositories { From c0a53cb90c2b0dfe954546a7942b2978b89d132c Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 28 Jan 2021 20:57:53 +0000 Subject: [PATCH 009/569] Bump sonarqube-gradle-plugin from 3.1 to 3.1.1 (#1100) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ca135f1e0..9bdfdd2d5 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ buildscript { classpath 'com.huawei.agconnect:agcp:1.4.2.301' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1' classpath "com.github.triplet.gradle:play-publisher:2.8.0" - classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.1" + classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.1.1" classpath "gradle.plugin.com.star-zero.gradle:githook:1.2.0" classpath "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:$about_libraries" } From 26565b627abf6a72c6bc693391f85c6a765fe275 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 28 Jan 2021 20:58:15 +0000 Subject: [PATCH 010/569] Bump work_manager from 2.4.0 to 2.5.0 (#1103) --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index dec667561..759be4107 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -130,7 +130,7 @@ play { } ext { - work_manager = "2.4.0" + work_manager = "2.5.0" room = "2.2.6" chucker = "3.4.0" mockk = "1.10.5" From d79b1c9a58bfd09d8cdda09070304144e26d0022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Fri, 29 Jan 2021 21:53:46 +0100 Subject: [PATCH 011/569] Add account manager (#671) --- .idea/codeStyles/Project.xml | 15 +- app/build.gradle | 5 +- .../31.json | 2136 +++++++++++++++++ .../wulkanowy/data/TestDispatchersProvider.kt | 11 - .../github/wulkanowy/data/RepositoryModule.kt | 29 +- .../github/wulkanowy/data/db/AppDatabase.kt | 9 +- .../wulkanowy/data/db/dao/StudentInfoDao.kt | 15 + .../wulkanowy/data/db/entities/Student.kt | 10 +- .../wulkanowy/data/db/entities/StudentInfo.kt | 85 + .../data/db/migrations/Migration31.kt | 42 + .../io/github/wulkanowy/data/enums/Gender.kt | 3 + .../data/mappers/StudentInfoMapper.kt | 38 + .../data/repositories/SchoolRepository.kt | 29 +- .../repositories/StudentInfoRepository.kt | 38 + .../repositories/student/StudentRemote.kt | 0 .../ui/modules/about/AboutFragment.kt | 6 +- .../ui/modules/account/AccountAdapter.kt | 65 +- .../ui/modules/account/AccountDialog.kt | 102 - .../ui/modules/account/AccountFragment.kt | 111 + .../ui/modules/account/AccountPresenter.kt | 131 +- .../ui/modules/account/AccountView.kt | 17 +- .../accountdetails/AccountDetailsFragment.kt | 134 ++ .../accountdetails/AccountDetailsPresenter.kt | 100 + .../accountdetails/AccountDetailsView.kt | 25 + .../AccountEditDetailsDialog.kt | 38 + .../accountquick/AccountQuickDialog.kt | 82 + .../accountquick/AccountQuickPresenter.kt | 79 + .../account/accountquick/AccountQuickView.kt | 17 + .../modules/attendance/AttendanceFragment.kt | 1 + .../wulkanowy/ui/modules/main/MainActivity.kt | 125 +- .../wulkanowy/ui/modules/main/MainView.kt | 4 +- .../school/SchoolPresenter.kt | 5 +- .../modules/studentinfo/StudentInfoAdapter.kt | 42 + .../studentinfo/StudentInfoFragment.kt | 228 ++ .../studentinfo/StudentInfoPresenter.kt | 142 ++ .../ui/modules/studentinfo/StudentInfoView.kt | 48 + .../java/io/github/wulkanowy/utils/AppInfo.kt | 5 + .../io/github/wulkanowy/utils/FlowUtils.kt | 24 +- .../wulkanowy/utils/FragmentExtension.kt | 6 + .../drawable/ic_account_details_family.xml | 9 + ...{ic_about_homepage.xml => ic_all_home.xml} | 0 .../{ic_school_phone.xml => ic_all_phone.xml} | 0 .../layout/dialog_account_edit_details.xml | 82 + ...g_account.xml => dialog_account_quick.xml} | 29 +- app/src/main/res/layout/fragment_account.xml | 91 + .../res/layout/fragment_account_details.xml | 206 ++ app/src/main/res/layout/fragment_school.xml | 2 +- .../main/res/layout/fragment_student_info.xml | 108 + app/src/main/res/layout/header_account.xml | 14 +- app/src/main/res/layout/item_account.xml | 7 +- app/src/main/res/layout/item_student_info.xml | 41 + .../res/menu/action_menu_account_details.xml | 11 + app/src/main/res/values/strings.xml | 39 +- .../data/repositories/StudentTest.kt | 4 +- .../modules/grade/GradeAverageProviderTest.kt | 24 +- .../login/form/LoginFormPresenterTest.kt | 28 +- .../LoginStudentSelectPresenterTest.kt | 57 +- gradle.properties | 5 +- 58 files changed, 4409 insertions(+), 350 deletions(-) create mode 100644 app/schemas/io.github.wulkanowy.data.db.AppDatabase/31.json delete mode 100644 app/src/androidTest/java/io/github/wulkanowy/data/TestDispatchersProvider.kt create mode 100644 app/src/main/java/io/github/wulkanowy/data/db/dao/StudentInfoDao.kt create mode 100644 app/src/main/java/io/github/wulkanowy/data/db/entities/StudentInfo.kt create mode 100644 app/src/main/java/io/github/wulkanowy/data/db/migrations/Migration31.kt create mode 100644 app/src/main/java/io/github/wulkanowy/data/enums/Gender.kt create mode 100644 app/src/main/java/io/github/wulkanowy/data/mappers/StudentInfoMapper.kt create mode 100644 app/src/main/java/io/github/wulkanowy/data/repositories/StudentInfoRepository.kt create mode 100644 app/src/main/java/io/github/wulkanowy/data/repositories/student/StudentRemote.kt delete mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/account/AccountDialog.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/account/AccountFragment.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/account/accountdetails/AccountDetailsFragment.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/account/accountdetails/AccountDetailsPresenter.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/account/accountdetails/AccountDetailsView.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/account/accountdetails/AccountEditDetailsDialog.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/account/accountquick/AccountQuickDialog.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/account/accountquick/AccountQuickPresenter.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/account/accountquick/AccountQuickView.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/studentinfo/StudentInfoAdapter.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/studentinfo/StudentInfoFragment.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/studentinfo/StudentInfoPresenter.kt create mode 100644 app/src/main/java/io/github/wulkanowy/ui/modules/studentinfo/StudentInfoView.kt create mode 100644 app/src/main/res/drawable/ic_account_details_family.xml rename app/src/main/res/drawable/{ic_about_homepage.xml => ic_all_home.xml} (100%) rename app/src/main/res/drawable/{ic_school_phone.xml => ic_all_phone.xml} (100%) create mode 100644 app/src/main/res/layout/dialog_account_edit_details.xml rename app/src/main/res/layout/{dialog_account.xml => dialog_account_quick.xml} (62%) create mode 100644 app/src/main/res/layout/fragment_account.xml create mode 100644 app/src/main/res/layout/fragment_account_details.xml create mode 100644 app/src/main/res/layout/fragment_student_info.xml create mode 100644 app/src/main/res/layout/item_student_info.xml create mode 100644 app/src/main/res/menu/action_menu_account_details.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index cb2f41195..0ac66f649 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -18,18 +18,9 @@