Add missing text when no grade description (#269)

This commit is contained in:
Mikołaj Pich 2019-03-09 17:16:30 +01:00 committed by Rafał Borcz
parent 919680c766
commit ca23f92096
6 changed files with 21 additions and 6 deletions

View File

@ -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"

View File

@ -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

View File

@ -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<GradeDetailsItem.ViewHolder>() {
class GradeDetailsItem(
val grade: Grade,
private val valueBgColor: Int,
private val weightString: String,
private val noDescriptionString: String
) : AbstractFlexibleItem<GradeDetailsItem.ViewHolder>() {
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

View File

@ -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()
)
}
}

View File

@ -16,6 +16,8 @@ interface GradeDetailsView : BaseSessionView {
val weightString: String
val noDescriptionString: String
fun initView()
fun updateData(data: List<GradeDetailsHeader>)

View File

@ -2,7 +2,8 @@
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
tools:context=".ui.modules.grade.details.GradeDetailsDialog">
<LinearLayout
android:layout_width="wrap_content"