Bump kotlin_version from 1.4.32 to 1.5.0 (#1310)

This commit is contained in:
dependabot[bot] 2021-05-06 11:02:08 +00:00 committed by GitHub
parent 58d66b6e70
commit 1fff1c2b14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 63 additions and 61 deletions

View File

@ -7,15 +7,6 @@
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
</value>
</option>
<option name="PACKAGES_IMPORT_LAYOUT">
<value>
<package name="" alias="false" withSubpackages="true" />
<package name="java" alias="false" withSubpackages="true" />
<package name="javax" alias="false" withSubpackages="true" />
<package name="kotlin" alias="false" withSubpackages="true" />
<package name="" alias="true" withSubpackages="true" />
</value>
</option>
<option name="NAME_COUNT_TO_USE_STAR_IMPORT" value="2147483647" />
<option name="NAME_COUNT_TO_USE_STAR_IMPORT_FOR_MEMBERS" value="2147483647" />
<option name="WRAP_ELVIS_EXPRESSIONS" value="0" />

View File

@ -117,7 +117,6 @@ android {
}
kotlinOptions {
useIR = true
jvmTarget = "1.8"
freeCompilerArgs += ["-Xopt-in=kotlin.RequiresOptIn", "-Xjvm-default=all"]
}
@ -165,7 +164,7 @@ dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.3'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0-RC"
implementation "androidx.core:core-ktx:1.3.2"
implementation "androidx.activity:activity-ktx:1.2.3"
@ -197,7 +196,6 @@ dependencies {
implementation "com.google.dagger:hilt-android:$hilt_version"
kapt "com.google.dagger:hilt-android-compiler:$hilt_version"
implementation "androidx.hilt:hilt-work:$work_hilt"
kapt "androidx.hilt:hilt-compiler:$work_hilt"
implementation "com.ncapdevi:frag-nav:3.3.0"
implementation "com.github.YarikSOffice:lingver:1.3.0"

View File

@ -1,7 +1,7 @@
apply plugin: "jacoco"
jacoco {
toolVersion "0.8.6"
toolVersion "0.8.7"
reportsDirectory = file("$buildDir/reports")
}

View File

@ -11,6 +11,7 @@ import io.github.wulkanowy.ui.base.BasePresenter
import io.github.wulkanowy.ui.base.ErrorHandler
import io.github.wulkanowy.utils.AnalyticsHelper
import io.github.wulkanowy.utils.afterLoading
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.flowWithResource
import io.github.wulkanowy.utils.flowWithResourceIn
import io.github.wulkanowy.utils.getLastSchoolDayIfHoliday
@ -319,7 +320,7 @@ class AttendancePresenter @Inject constructor(
view?.apply {
showPreButton(!currentDate.minusDays(1).isHolidays)
showNextButton(!currentDate.plusDays(1).isHolidays)
updateNavigationDay(currentDate.toFormattedString("EEEE, dd.MM").capitalize())
updateNavigationDay(currentDate.toFormattedString("EEEE, dd.MM").capitalise())
}
}
}

View File

@ -76,13 +76,13 @@ class AttendanceSummaryAdapter @Inject constructor() :
private fun getTotalItem() = AttendanceSummary(
month = Month.APRIL,
presence = items.sumBy { it.presence },
absence = items.sumBy { it.absence },
absenceExcused = items.sumBy { it.absenceExcused },
absenceForSchoolReasons = items.sumBy { it.absenceForSchoolReasons },
exemption = items.sumBy { it.exemption },
lateness = items.sumBy { it.lateness },
latenessExcused = items.sumBy { it.latenessExcused },
presence = items.sumOf { it.presence },
absence = items.sumOf { it.absence },
absenceExcused = items.sumOf { it.absenceExcused },
absenceForSchoolReasons = items.sumOf { it.absenceForSchoolReasons },
exemption = items.sumOf { it.exemption },
lateness = items.sumOf { it.lateness },
latenessExcused = items.sumOf { it.latenessExcused },
diaryId = -1,
studentId = -1,
subjectId = -1

View File

@ -7,6 +7,7 @@ import androidx.recyclerview.widget.RecyclerView
import io.github.wulkanowy.data.db.entities.Exam
import io.github.wulkanowy.databinding.HeaderExamBinding
import io.github.wulkanowy.databinding.ItemExamBinding
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.toFormattedString
import io.github.wulkanowy.utils.weekDayName
import java.time.LocalDate
@ -42,7 +43,7 @@ class ExamAdapter @Inject constructor() : RecyclerView.Adapter<RecyclerView.View
@SuppressLint("DefaultLocale")
private fun bindHeaderViewHolder(binding: HeaderExamBinding, date: LocalDate) {
with(binding) {
examHeaderDay.text = date.weekDayName.capitalize()
examHeaderDay.text = date.weekDayName.capitalise()
examHeaderDate.text = date.toFormattedString()
}
}

View File

@ -108,7 +108,7 @@ class GradeDetailsAdapter @Inject constructor() : BaseExpandableAdapter<Recycler
private fun bindHeaderViewHolder(holder: HeaderViewHolder, header: GradeDetailsHeader, position: Int) {
val headerPosition = headers.indexOf(items[position])
val adapterPosition = holder.adapterPosition
val adapterPosition = holder.bindingAdapterPosition
with(holder.binding) {
gradeHeaderDivider.visibility = if (adapterPosition == 0) View.GONE else View.VISIBLE
@ -161,7 +161,7 @@ class GradeDetailsAdapter @Inject constructor() : BaseExpandableAdapter<Recycler
gradeItemNote.visibility = if (!grade.isRead) View.VISIBLE else View.GONE
root.setOnClickListener {
holder.adapterPosition.let { if (it != NO_POSITION) onClickListener(grade, it) }
holder.bindingAdapterPosition.let { if (it != NO_POSITION) onClickListener(grade, it) }
}
}
}

View File

@ -1,6 +1,5 @@
package io.github.wulkanowy.ui.modules.grade.details
import android.annotation.SuppressLint
import io.github.wulkanowy.data.Status
import io.github.wulkanowy.data.db.entities.Grade
import io.github.wulkanowy.data.repositories.GradeRepository
@ -202,8 +201,9 @@ class GradeDetailsPresenter @Inject constructor(
}
private fun updateNewGradesAmount(grades: List<GradeSubject>) {
newGradesAmount =
grades.sumBy { item -> item.grades.sumBy { grade -> if (!grade.isRead) 1 else 0 } }
newGradesAmount = grades.sumOf { item ->
item.grades.sumOf { grade -> (if (!grade.isRead) 1 else 0).toInt() }
}
}
private fun showErrorViewOnError(message: String, error: Throwable) {
@ -217,7 +217,6 @@ class GradeDetailsPresenter @Inject constructor(
}
}
@SuppressLint("DefaultLocale")
private fun createGradeItems(items: List<GradeSubject>): List<GradeDetailsItem> {
return items
.let { gradesWithAverages ->
@ -228,7 +227,7 @@ class GradeDetailsPresenter @Inject constructor(
.let {
when (preferencesRepository.gradeSortingMode) {
DATE -> it.sortedByDescending { gradeDetailsWithAverage -> gradeDetailsWithAverage.grades.firstOrNull()?.date }
ALPHABETIC -> it.sortedBy { gradeDetailsWithAverage -> gradeDetailsWithAverage.subject.toLowerCase() }
ALPHABETIC -> it.sortedBy { gradeDetailsWithAverage -> gradeDetailsWithAverage.subject.lowercase() }
}
}
.map { (subject, average, points, _, grades) ->

View File

@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView
import io.github.wulkanowy.data.db.entities.Homework
import io.github.wulkanowy.databinding.HeaderHomeworkBinding
import io.github.wulkanowy.databinding.ItemHomeworkBinding
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.toFormattedString
import io.github.wulkanowy.utils.weekDayName
import java.time.LocalDate
@ -43,7 +44,7 @@ class HomeworkAdapter @Inject constructor() : RecyclerView.Adapter<RecyclerView.
@SuppressLint("DefaultLocale")
private fun bindHeaderViewHolder(binding: HeaderHomeworkBinding, date: LocalDate) {
with(binding) {
homeworkHeaderDay.text = date.weekDayName.capitalize()
homeworkHeaderDay.text = date.weekDayName.capitalise()
homeworkHeaderDate.text = date.toFormattedString()
}
}

View File

@ -6,6 +6,7 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import io.github.wulkanowy.data.db.entities.LuckyNumber
import io.github.wulkanowy.databinding.ItemLuckyNumberHistoryBinding
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.toFormattedString
import io.github.wulkanowy.utils.weekDayName
import javax.inject.Inject
@ -25,7 +26,7 @@ class LuckyNumberHistoryAdapter @Inject constructor() :
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
val item = items[position]
with(holder.binding) {
luckyNumberHistoryWeekName.text = item.date.weekDayName.capitalize()
luckyNumberHistoryWeekName.text = item.date.weekDayName.capitalise()
luckyNumberHistoryDate.text = item.date.toFormattedString()
luckyNumberHistory.text = item.luckyNumber.toString()
}

View File

@ -57,7 +57,7 @@ class MessageTabAdapter @Inject constructor() :
messageItemAttachmentIcon.visibility = if (item.hasAttachments) View.VISIBLE else View.GONE
root.setOnClickListener {
holder.adapterPosition.let { if (it != NO_POSITION) onClickListener(item, it) }
holder.bindingAdapterPosition.let { if (it != NO_POSITION) onClickListener(item, it) }
}
}
}

View File

@ -23,7 +23,6 @@ import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import me.xdrop.fuzzywuzzy.FuzzySearch
import timber.log.Timber
import java.util.Locale
import javax.inject.Inject
import kotlin.math.pow
@ -189,33 +188,30 @@ class MessageTabPresenter @Inject constructor(
}
private fun calculateMatchRatio(message: Message, query: String): Int {
val subjectRatio = FuzzySearch.tokenSortPartialRatio(
query.toLowerCase(Locale.getDefault()),
message.subject
)
val subjectRatio = FuzzySearch.tokenSortPartialRatio(query.lowercase(), message.subject)
val senderOrRecipientRatio = FuzzySearch.tokenSortPartialRatio(
query.toLowerCase(Locale.getDefault()),
if (message.sender.isNotEmpty()) message.sender.toLowerCase(Locale.getDefault())
else message.recipient.toLowerCase(Locale.getDefault())
query.lowercase(),
if (message.sender.isNotEmpty()) message.sender.lowercase()
else message.recipient.lowercase()
)
val dateRatio = listOf(
FuzzySearch.ratio(
query.toLowerCase(Locale.getDefault()),
message.date.toFormattedString("dd.MM").toLowerCase(Locale.getDefault())
query.lowercase(),
message.date.toFormattedString("dd.MM").lowercase()
),
FuzzySearch.ratio(
query.toLowerCase(Locale.getDefault()),
message.date.toFormattedString("dd.MM.yyyy").toLowerCase(Locale.getDefault())
query.lowercase(),
message.date.toFormattedString("dd.MM.yyyy").lowercase()
),
FuzzySearch.ratio(
query.toLowerCase(Locale.getDefault()),
message.date.toFormattedString("d MMMM").toLowerCase(Locale.getDefault())
query.lowercase(),
message.date.toFormattedString("d MMMM").lowercase()
),
FuzzySearch.ratio(
query.toLowerCase(Locale.getDefault()),
message.date.toFormattedString("d MMMM yyyy").toLowerCase(Locale.getDefault())
query.lowercase(),
message.date.toFormattedString("d MMMM yyyy").lowercase()
)
).maxOrNull() ?: 0

View File

@ -23,6 +23,7 @@ import io.github.wulkanowy.databinding.FragmentStudentInfoBinding
import io.github.wulkanowy.ui.base.BaseFragment
import io.github.wulkanowy.ui.modules.main.MainActivity
import io.github.wulkanowy.ui.modules.main.MainView
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.getThemeAttrColor
import javax.inject.Inject
@ -149,8 +150,8 @@ class StudentInfoFragment :
override fun showFamilyTypeData(studentInfo: StudentInfo) {
updateData(
listOfNotNull(
studentInfo.firstGuardian?.let { it.kinship.capitalize() to it.fullName },
studentInfo.secondGuardian?.let { it.kinship.capitalize() to it.fullName },
studentInfo.firstGuardian?.let { it.kinship.capitalise() to it.fullName },
studentInfo.secondGuardian?.let { it.kinship.capitalise() to it.fullName },
).map { (title, value) ->
val updatedValue = value.ifBlank { getString(R.string.all_no_data) }
val updatedTitle = title.ifBlank { getString(R.string.all_no_data) }

View File

@ -12,10 +12,13 @@ import androidx.fragment.app.DialogFragment
import io.github.wulkanowy.R
import io.github.wulkanowy.data.db.entities.Timetable
import io.github.wulkanowy.databinding.DialogTimetableBinding
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.decapitalise
import io.github.wulkanowy.utils.getThemeAttrColor
import io.github.wulkanowy.utils.lifecycleAwareVariable
import io.github.wulkanowy.utils.toFormattedString
import java.time.LocalDateTime
import java.util.Locale
class TimetableDialog : DialogFragment() {
@ -101,8 +104,8 @@ class TimetableDialog : DialogFragment() {
timetableDialogChangesValue.text = when {
canceled && !changes -> "Lekcja odwołana: $info"
changes && teacher.isNotBlank() -> "Zastępstwo: $teacher"
changes && teacher.isBlank() -> "Zastępstwo, ${info.decapitalize()}"
else -> info.capitalize()
changes && teacher.isBlank() -> "Zastępstwo, ${info.decapitalise()}"
else -> info.capitalise()
}
}
else -> {

View File

@ -11,6 +11,7 @@ import io.github.wulkanowy.ui.base.BasePresenter
import io.github.wulkanowy.ui.base.ErrorHandler
import io.github.wulkanowy.utils.AnalyticsHelper
import io.github.wulkanowy.utils.afterLoading
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.flowWithResourceIn
import io.github.wulkanowy.utils.getLastSchoolDayIfHoliday
import io.github.wulkanowy.utils.isHolidays
@ -229,7 +230,7 @@ class TimetablePresenter @Inject constructor(
view?.apply {
showPreButton(!currentDate.minusDays(1).isHolidays)
showNextButton(!currentDate.plusDays(1).isHolidays)
updateNavigationDay(currentDate.toFormattedString("EEEE, dd.MM").capitalize())
updateNavigationDay(currentDate.toFormattedString("EEEE, dd.MM").capitalise())
}
}
}

View File

@ -9,6 +9,7 @@ import io.github.wulkanowy.ui.base.BasePresenter
import io.github.wulkanowy.ui.base.ErrorHandler
import io.github.wulkanowy.utils.AnalyticsHelper
import io.github.wulkanowy.utils.afterLoading
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.flowWithResourceIn
import io.github.wulkanowy.utils.getLastSchoolDayIfHoliday
import io.github.wulkanowy.utils.isHolidays
@ -164,7 +165,7 @@ class AdditionalLessonsPresenter @Inject constructor(
view?.apply {
showPreButton(!currentDate.minusDays(1).isHolidays)
showNextButton(!currentDate.plusDays(1).isHolidays)
updateNavigationDay(currentDate.toFormattedString("EEEE, dd.MM").capitalize())
updateNavigationDay(currentDate.toFormattedString("EEEE, dd.MM").capitalise())
}
}
}

View File

@ -9,6 +9,7 @@ import io.github.wulkanowy.data.repositories.StudentRepository
import io.github.wulkanowy.ui.base.BasePresenter
import io.github.wulkanowy.utils.AnalyticsHelper
import io.github.wulkanowy.utils.afterLoading
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.flowWithResourceIn
import io.github.wulkanowy.utils.getLastSchoolDayIfHoliday
import io.github.wulkanowy.utils.isHolidays
@ -188,7 +189,7 @@ class CompletedLessonsPresenter @Inject constructor(
view?.apply {
showPreButton(!currentDate.minusDays(1).isHolidays)
showNextButton(!currentDate.plusDays(1).isHolidays)
updateNavigationDay(currentDate.toFormattedString("EEEE, dd.MM").capitalize())
updateNavigationDay(currentDate.toFormattedString("EEEE, dd.MM").capitalise())
}
}
}

View File

@ -27,6 +27,7 @@ import io.github.wulkanowy.services.widgets.TimetableWidgetService
import io.github.wulkanowy.ui.modules.main.MainActivity
import io.github.wulkanowy.ui.modules.main.MainView
import io.github.wulkanowy.utils.AnalyticsHelper
import io.github.wulkanowy.utils.capitalise
import io.github.wulkanowy.utils.createNameInitialsDrawable
import io.github.wulkanowy.utils.getCompatColor
import io.github.wulkanowy.utils.nextOrSameSchoolDay
@ -180,7 +181,7 @@ class TimetableWidgetProvider : HiltBroadcastReceiver() {
setEmptyView(R.id.timetableWidgetList, R.id.timetableWidgetEmpty)
setTextViewText(
R.id.timetableWidgetDate,
date.toFormattedString("EEEE, dd.MM").capitalize()
date.toFormattedString("EEEE, dd.MM").capitalise()
)
setTextViewText(
R.id.timetableWidgetName,

View File

@ -19,7 +19,7 @@ private inline val AttendanceSummary.allAbsences: Double
fun AttendanceSummary.calculatePercentage() = calculatePercentage(allPresences, allAbsences)
fun List<AttendanceSummary>.calculatePercentage(): Double {
return calculatePercentage(sumByDouble { it.allPresences }, sumByDouble { it.allAbsences })
return calculatePercentage(sumOf { it.allPresences }, sumOf { it.allAbsences })
}
private fun calculatePercentage(presence: Double, absence: Double): Double {

View File

@ -126,7 +126,7 @@ fun Context.createNameInitialsDrawable(
val firstCharFirstWord = words.getOrNull(0)?.firstOrNull() ?: ""
val firstCharSecondWord = words.getOrNull(1)?.firstOrNull() ?: ""
val initials = "$firstCharFirstWord$firstCharSecondWord".toUpperCase()
val initials = "$firstCharFirstWord$firstCharSecondWord".uppercase()
val bounds = Rect()
val dimension = this.dpToPx(64f * scaleFactory).toInt()

View File

@ -1,3 +1,9 @@
package io.github.wulkanowy.utils
inline fun String?.ifNullOrBlank(defaultValue: () -> String) = if (this.isNullOrBlank()) defaultValue() else this
inline fun String?.ifNullOrBlank(defaultValue: () -> String) =
if (isNullOrBlank()) defaultValue() else this
fun String.capitalise() =
replaceFirstChar { if (it.isLowerCase()) it.titlecase() else it.toString() }
fun String.decapitalise() = replaceFirstChar { it.lowercase() }

View File

@ -43,7 +43,7 @@ fun Month.getFormattedName(): String {
val formatter = SimpleDateFormat("LLLL", Locale.getDefault())
val date = now().withMonth(value)
return formatter.format(date.toInstant(ZoneOffset.UTC).toEpochMilli()).capitalize()
return formatter.format(date.toInstant(ZoneOffset.UTC).toEpochMilli()).capitalise()
}
inline val LocalDate.nextSchoolDay: LocalDate

View File

@ -1,6 +1,6 @@
buildscript {
ext {
kotlin_version = '1.4.32'
kotlin_version = '1.5.0'
about_libraries = '8.8.5'
hilt_version = "2.35.1"
}