From ca23f920966cef5103ddecde4209afd5643128a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Pich?= Date: Sat, 9 Mar 2019 17:16:30 +0100 Subject: [PATCH] Add missing text when no grade description (#269) --- app/build.gradle | 2 +- .../modules/grade/details/GradeDetailsFragment.kt | 3 +++ .../ui/modules/grade/details/GradeDetailsItem.kt | 14 +++++++++++--- .../modules/grade/details/GradeDetailsPresenter.kt | 3 ++- .../ui/modules/grade/details/GradeDetailsView.kt | 2 ++ app/src/main/res/layout/dialog_grade.xml | 3 ++- 6 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 216b9ffc..e5c4fa22 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -72,7 +72,7 @@ play { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - implementation('com.github.wulkanowy:api:ea81799e98') { exclude module: "threetenbp" } + implementation('com.github.wulkanowy:api:a875c1de3b') { exclude module: "threetenbp" } implementation "androidx.legacy:legacy-support-v4:1.0.0" implementation "androidx.appcompat:appcompat:1.0.2" diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsFragment.kt index 048d8589..ebeacf76 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsFragment.kt @@ -46,6 +46,9 @@ class GradeDetailsFragment : BaseSessionFragment(), GradeDetailsView, GradeView. override val weightString: String get() = getString(R.string.grade_weight) + override val noDescriptionString: String + get() = getString(R.string.all_no_description) + override val isViewEmpty get() = gradeDetailsAdapter.isEmpty diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsItem.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsItem.kt index 327eed27..de1d88f7 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsItem.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsItem.kt @@ -14,8 +14,12 @@ import io.github.wulkanowy.utils.toFormattedString import kotlinx.android.extensions.LayoutContainer import kotlinx.android.synthetic.main.item_grade_details.* -class GradeDetailsItem(val grade: Grade, private val weightString: String, private val valueBgColor: Int) : - AbstractFlexibleItem() { +class GradeDetailsItem( + val grade: Grade, + private val valueBgColor: Int, + private val weightString: String, + private val noDescriptionString: String +) : AbstractFlexibleItem() { override fun getLayoutRes() = R.layout.item_grade_details @@ -33,7 +37,11 @@ class GradeDetailsItem(val grade: Grade, private val weightString: String, priva text = grade.entry setBackgroundResource(valueBgColor) } - gradeItemDescription.text = if (grade.description.isNotBlank()) grade.description else grade.gradeSymbol + gradeItemDescription.text = when { + grade.description.isNotBlank() -> grade.description + grade.gradeSymbol.isNotBlank() -> grade.gradeSymbol + else -> noDescriptionString + } gradeItemDate.text = grade.date.toFormattedString() gradeItemWeight.text = "$weightString: ${grade.weight}" gradeItemNote.visibility = if (!grade.isRead) VISIBLE else GONE diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsPresenter.kt index 187f2a07..9b1c7ead 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsPresenter.kt @@ -150,8 +150,9 @@ class GradeDetailsPresenter @Inject constructor( subItems = it.value.map { item -> GradeDetailsItem( grade = item, + valueBgColor = item.getBackgroundColor(preferencesRepository.gradeColorTheme), weightString = view?.weightString.orEmpty(), - valueBgColor = item.getBackgroundColor(preferencesRepository.gradeColorTheme) + noDescriptionString = view?.noDescriptionString.orEmpty() ) } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsView.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsView.kt index 9c9349da..9ab92412 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsView.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/details/GradeDetailsView.kt @@ -16,6 +16,8 @@ interface GradeDetailsView : BaseSessionView { val weightString: String + val noDescriptionString: String + fun initView() fun updateData(data: List) diff --git a/app/src/main/res/layout/dialog_grade.xml b/app/src/main/res/layout/dialog_grade.xml index 9c2f1006..18e3a478 100644 --- a/app/src/main/res/layout/dialog_grade.xml +++ b/app/src/main/res/layout/dialog_grade.xml @@ -2,7 +2,8 @@ + android:layout_height="match_parent" + tools:context=".ui.modules.grade.details.GradeDetailsDialog">