Skip to content
Snippets Groups Projects
Unverified Commit 2d703571 authored by AlexanderAlferov's avatar AlexanderAlferov Committed by GitHub
Browse files

Consent status custom view (EXPOSUREAPP-3737) (#1711)


* Consent custom view + formatting

* Proper strings.xml

* Switch to constraint layout

* Flatten view hierarchy.

Co-authored-by: default avatarMatthias Urhahn <matthias.urhahn@sap.com>
parent 73eb344e
No related branches found
No related tags found
No related merge requests found
package de.rki.coronawarnapp.ui.submission.consentstatus
import android.content.Context
import android.util.AttributeSet
import android.util.TypedValue
import android.view.LayoutInflater
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.databinding.BindingAdapter
import de.rki.coronawarnapp.R
class ConsentStatusView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr) {
private var titleTextView: TextView
init {
LayoutInflater.from(context).inflate(R.layout.view_consent_status, this, true)
val outValue = TypedValue()
getContext().theme.resolveAttribute(android.R.attr.selectableItemBackground, outValue, true)
setBackgroundResource(outValue.resourceId)
titleTextView = findViewById(R.id.consent_status_message)
}
var consent: Boolean = false
set(value) {
when (value) {
true -> R.string.submission_consent_view_consent_given
false -> R.string.submission_consent_view_consent_not_given
}.let { titleTextView.setText(it) }
field = value
}
}
@BindingAdapter("consent")
fun ConsentStatusView.consent(newConsent: Boolean) {
consent = newConsent
}
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="16dp"
android:viewportWidth="24"
android:viewportHeight="16">
<path
android:pathData="M19.35,6.04C18.67,2.59 15.64,0 12,0C9.11,0 6.6,1.64 5.35,4.04C2.34,4.36 0,6.91 0,10C0,13.31 2.69,16 6,16H19C21.76,16 24,13.76 24,11C24,8.36 21.95,6.22 19.35,6.04ZM19,14H6C3.79,14 2,12.21 2,10C2,7.95 3.53,6.24 5.56,6.03L6.63,5.92L7.13,4.97C8.08,3.14 9.94,2 12,2C14.62,2 16.88,3.86 17.39,6.43L17.69,7.93L19.22,8.04C20.78,8.14 22,9.45 22,11C22,12.65 20.65,14 19,14ZM10.55,9H8L12,5L16,9H13.45V12H10.55V9Z"
android:fillColor="#17191A"
android:fillAlpha="0.3"
android:fillType="evenOdd"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<View
android:id="@+id/test_result_illustration_divider"
android:layout_width="match_parent"
android:layout_height="@dimen/card_divider"
android:background="@color/colorHairline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/consent_icon"
style="@style/icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:focusable="false"
android:importantForAccessibility="no"
android:paddingTop="4dp"
android:src="@drawable/ic_consent_status_view_icon"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/consent_status_message"
style="@style/headline6"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginStart="56dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:text="@string/submission_consent_view_consent_not_given"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Einverständnis\n“Andere warnen” nicht erteilt" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/card_divider"
android:layout_marginTop="@dimen/spacing_small"
android:background="@color/colorHairline"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</merge>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment