Skip to content
Snippets Groups Projects
Unverified Commit 64d1452d authored by Mohamed Metwalli's avatar Mohamed Metwalli Committed by GitHub
Browse files

Request covid certificate screen (EXPOSUREAPP-7426) (#3314)


* Initial commit

* Adapt new design

* Swap text and input

* Show dialogs and adjust text

* Adjust visibility

* Some cleaning

* TODOs and text adjustments

* Revert Navigation changes

* Lint

* Add way for testing

* Adjust testing Navigation

* Fix typos

* Review comments

Co-authored-by: default avatarBMItter <Berndus@gmx.de>
parent 6870e1a6
No related branches found
No related tags found
No related merge requests found
Showing
with 672 additions and 15 deletions
......@@ -4,10 +4,14 @@ import android.annotation.SuppressLint
import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import de.rki.coronawarnapp.NavGraphDirections
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.coronatest.type.CoronaTest.Type.PCR
import de.rki.coronawarnapp.coronatest.type.CoronaTest.Type.RAPID_ANTIGEN
import de.rki.coronawarnapp.databinding.FragmentTestGreenCertificateBinding
import de.rki.coronawarnapp.test.menu.ui.TestMenuItem
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.ui.doNavigate
import de.rki.coronawarnapp.util.ui.viewBinding
import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
......@@ -22,13 +26,22 @@ class GreenCertificateTestFragment : Fragment(R.layout.fragment_test_green_certi
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.apply {
pcrScreen.setOnClickListener {
doNavigate(NavGraphDirections.actionSubmissionTestResultGreenCertificateFragment(PCR))
}
ratScreen.setOnClickListener {
doNavigate(NavGraphDirections.actionSubmissionTestResultGreenCertificateFragment(RAPID_ANTIGEN))
}
}
}
companion object {
val MENU_ITEM = TestMenuItem(
title = "Green Certificate",
description = "View & Control green certificate related features.",
targetId = R.id.vaccinationTestFragment
targetId = R.id.greenCertificateTestFragment
)
}
}
......@@ -12,6 +12,22 @@
android:orientation="vertical"
android:paddingBottom="32dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Request DCC screen" />
<com.google.android.material.button.MaterialButton
android:id="@+id/pcr_screen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="CPR screen" />
<com.google.android.material.button.MaterialButton
android:id="@+id/rat_screen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="RAT screen" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
......@@ -58,6 +58,9 @@
<action
android:id="@+id/action_test_menu_fragment_to_vaccinationTestFragment"
app:destination="@id/vaccinationTestFragment" />
<action
android:id="@+id/action_test_menu_fragment_to_greenCertificateTestFragment"
app:destination="@id/greenCertificateTestFragment" />
</fragment>
<fragment
......@@ -169,7 +172,7 @@
android:id="@+id/vaccinationTestFragment"
android:name="de.rki.coronawarnapp.vaccination.ui.VaccinationTestFragment"
android:label="VaccinationTestFragment"
tools:layout="@layout/fragment_test_vaccination" >
tools:layout="@layout/fragment_test_vaccination">
<action
android:id="@+id/action_vaccinationTestFragment_to_vaccinationDetailsFragment"
......@@ -185,4 +188,9 @@
android:name="vaccinationCertificateId"
app:argType="string" />
</fragment>
<fragment
android:id="@+id/greenCertificateTestFragment"
android:name="de.rki.coronawarnapp.test.greencertificate.GreenCertificateTestFragment"
android:label="GreenCertificateTestFragment"
tools:layout="@layout/fragment_test_green_certificate" />
</navigation>
......@@ -8,6 +8,7 @@ import com.google.android.material.datepicker.MaterialDatePicker
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.contactdiary.util.hideKeyboard
import de.rki.coronawarnapp.databinding.RatProfileCreateFragmentBinding
import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDayFormat
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.ui.doNavigate
import de.rki.coronawarnapp.util.ui.popBackStack
......@@ -80,7 +81,7 @@ class RATProfileCreateFragment : Fragment(R.layout.rat_profile_create_fragment),
addOnPositiveButtonClickListener { timestamp ->
val localDate = LocalDate(timestamp)
binding.birthDateInputEdit.setText(
localDate.toString("dd.MM.yyyy")
localDate.toDayFormat()
)
viewModel.birthDateChanged(localDate)
}
......
......@@ -12,6 +12,7 @@ import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionDispatcherViewMode
import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.ui.doNavigate
import de.rki.coronawarnapp.util.ui.findNestedGraph
import de.rki.coronawarnapp.util.ui.observe2
import de.rki.coronawarnapp.util.ui.viewBinding
import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
......@@ -61,9 +62,7 @@ class SubmissionDispatcherFragment : Fragment(R.layout.fragment_submission_dispa
}
is SubmissionNavigationEvents.NavigateToOpenProfile -> {
val ratGraph = findNavController().graph.findNode(R.id.rapid_test_profile_nav_graph) as NavGraph
ratGraph.startDestination = R.id.ratProfileQrCodeFragment
findNestedGraph(R.id.rapid_test_profile_nav_graph).startDestination = R.id.ratProfileQrCodeFragment
doNavigate(
SubmissionDispatcherFragmentDirections
.actionSubmissionDispatcherFragmentToRapidTestProfileNavGraph()
......
package de.rki.coronawarnapp.ui.submission.greencertificate
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.View
import androidx.core.view.isVisible
import androidx.core.widget.doOnTextChanged
import androidx.navigation.fragment.navArgs
import com.google.android.material.datepicker.MaterialDatePicker
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.coronatest.type.CoronaTest
import de.rki.coronawarnapp.databinding.FragmentRequestGreenCertificateBinding
import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDayFormat
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.ui.viewBinding
import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted
import org.joda.time.LocalDate
import javax.inject.Inject
class RequestGreenCertificateFragment : Fragment(R.layout.fragment_request_green_certificate), AutoInject {
@Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory
private val viewModel by cwaViewModelsAssisted<RequestGreenCertificateViewModel>(
factoryProducer = { viewModelFactory },
constructorCall = { factory, _ ->
factory as RequestGreenCertificateViewModel.Factory
factory.create(args.testType)
}
)
private val binding by viewBinding<FragmentRequestGreenCertificateBinding>()
private val args by navArgs<RequestGreenCertificateFragmentArgs>()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) =
with(binding) {
val isPCR = args.testType == CoronaTest.Type.PCR
birthDateGroup.isVisible = isPCR
privacyCard.pcrExtraBullet.isVisible = isPCR
dateInputEdit.doOnTextChanged { text, _, _, _ ->
if (text.toString().isEmpty()) viewModel.birthDateChanged(null)
}
toolbar.setNavigationOnClickListener { showDialog() }
agreeButton.setOnClickListener { viewModel.onAgreeGC() }
disagreeButton.setOnClickListener { viewModel.onDisagreeGC() }
dateInputEdit.setOnClickListener { openDatePicker() }
}
private fun showDialog() {
MaterialAlertDialogBuilder(requireContext())
.setTitle(R.string.request_gc_dialog_title)
.setMessage(R.string.request_gc_dialog_message)
.setNegativeButton(R.string.request_gc_dialog_negative_button) { _, _ -> /* TODO */ }
.setPositiveButton(R.string.request_gc_dialog_positive_button) { _, _ -> /* TODO */ }
.create()
.show()
}
private fun openDatePicker() {
MaterialDatePicker.Builder
.datePicker()
.build()
.apply {
addOnPositiveButtonClickListener { timestamp ->
val localDate = LocalDate(timestamp)
binding.dateInputEdit.setText(localDate.toDayFormat())
viewModel.birthDateChanged(localDate)
}
}
.show(childFragmentManager, "RequestGreenCertificateFragment.MaterialDatePicker")
}
}
package de.rki.coronawarnapp.ui.submission.greencertificate
import dagger.Binds
import dagger.Module
import dagger.multibindings.IntoMap
import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory
import de.rki.coronawarnapp.util.viewmodel.CWAViewModelKey
@Module
abstract class RequestGreenCertificateFragmentModule {
@Binds
@IntoMap
@CWAViewModelKey(RequestGreenCertificateViewModel::class)
abstract fun requestGreenCertificateFragment(
factory: RequestGreenCertificateViewModel.Factory
): CWAViewModelFactory<out CWAViewModel>
}
package de.rki.coronawarnapp.ui.submission.greencertificate
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
import de.rki.coronawarnapp.coronatest.type.CoronaTest
import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory
import org.joda.time.LocalDate
class RequestGreenCertificateViewModel @AssistedInject constructor(
@Assisted private val testType: CoronaTest.Type,
) : CWAViewModel() {
fun birthDateChanged(localDate: LocalDate?) {
// TODO
}
fun onAgreeGC() {
// TODO
}
fun onDisagreeGC() {
// TODO
}
@AssistedFactory
interface Factory : CWAViewModelFactory<RequestGreenCertificateViewModel> {
fun create(type: CoronaTest.Type): RequestGreenCertificateViewModel
}
}
......@@ -102,9 +102,9 @@ class SubmissionQRCodeScanFragment : Fragment(R.layout.fragment_submission_qr_co
}
viewModel.registrationState.observe2(this) { state ->
binding.submissionQrCodeScanSpinner.visibility = when (state.apiRequestState) {
ApiRequestState.STARTED -> View.VISIBLE
else -> View.GONE
when (state.apiRequestState) {
ApiRequestState.STARTED -> binding.submissionQrCodeScanSpinner.show()
else -> binding.submissionQrCodeScanSpinner.hide()
}
when (state.test?.testResult) {
CoronaTestResult.PCR_POSITIVE ->
......
......@@ -19,9 +19,9 @@ import timber.log.Timber
class SubmissionQRCodeScanViewModel @AssistedInject constructor(
dispatcherProvider: DispatcherProvider,
@Assisted private val isConsentGiven: Boolean,
private val cameraSettings: CameraSettings,
private val qrCodeRegistrationStateProcessor: QrCodeRegistrationStateProcessor,
@Assisted private val isConsentGiven: Boolean,
private val submissionRepository: SubmissionRepository,
private val qrCodeValidator: CoronaTestQrCodeValidator,
private val analyticsKeySubmissionCollector: AnalyticsKeySubmissionCollector
......
......@@ -8,6 +8,8 @@ import de.rki.coronawarnapp.ui.submission.fragment.SubmissionContactFragment
import de.rki.coronawarnapp.ui.submission.fragment.SubmissionDispatcherFragment
import de.rki.coronawarnapp.ui.submission.deletionwarning.SubmissionDeletionWarningFragment
import de.rki.coronawarnapp.ui.submission.deletionwarning.SubmissionDeletionWarningModule
import de.rki.coronawarnapp.ui.submission.greencertificate.RequestGreenCertificateFragment
import de.rki.coronawarnapp.ui.submission.greencertificate.RequestGreenCertificateFragmentModule
import de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentFragment
import de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentModule
import de.rki.coronawarnapp.ui.submission.qrcode.scan.SubmissionQRCodeScanFragment
......@@ -110,4 +112,7 @@ internal abstract class SubmissionFragmentModule {
@ContributesAndroidInjector(modules = [SubmissionTestResultKeysSharedModule::class])
abstract fun submissionTestResultKeysSharedScreen(): SubmissionTestResultKeysSharedFragment
@ContributesAndroidInjector(modules = [RequestGreenCertificateFragmentModule::class])
abstract fun requestGreenCertificateFragment(): RequestGreenCertificateFragment
}
......@@ -105,29 +105,29 @@ object TimeAndDateExtensions {
val Instant.seconds get() = TimeUnit.MILLISECONDS.toSeconds(millis)
fun Instant.toUserTimeZone() = this.toDateTime(DateTimeZone.forTimeZone(TimeZone.getDefault()))
fun Instant.toUserTimeZone(): DateTime = this.toDateTime(DateTimeZone.forTimeZone(TimeZone.getDefault()))
fun Instant.toLocalDateUserTz(): LocalDate = this.toUserTimeZone().toLocalDate()
/**
* Returns a readable date String with the format "dd.MM.yyyy" like 23.05.1989 of an Instant
*/
fun Instant.toDayFormat() = toString(dayFormatter)
fun Instant.toDayFormat(): String = toString(dayFormatter)
/**
* Returns a readable date String with the format "dd.MM.yyyy" like 23.05.1989 of a LocalDate
*/
fun LocalDate.toDayFormat() = toString(dayFormatter)
fun LocalDate.toDayFormat(): String = toString(dayFormatter)
/**
* Returns a readable date String with the format "dd.MM.yy" like 23.05.89 of an Instant
*/
fun Instant.toShortDayFormat() = toString(dayFormatter2DigitYear)
fun Instant.toShortDayFormat(): String = toString(dayFormatter2DigitYear)
/**
* Returns a readable date String with the format "dd.MM.yy" like 23.05.89 of an LocalDate
*/
fun LocalDate.toShortDayFormat() = toString(dayFormatter2DigitYear)
fun LocalDate.toShortDayFormat(): String = toString(dayFormatter2DigitYear)
}
typealias HourInterval = Long
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="198dp"
android:height="184dp"
android:viewportWidth="198"
android:viewportHeight="184">
<group>
<clip-path
android:pathData="M0,0h198v184h-198z"/>
<path
android:pathData="M106,184C156.81,184 198,142.81 198,92C198,41.19 156.81,0 106,0C55.19,0 14,41.19 14,92C14,142.81 55.19,184 106,184Z"
android:fillColor="#2D2D2F"/>
<path
android:pathData="M44.729,56.876l35.173,21.068l-34.871,58.218l-35.173,-21.068z"
android:fillColor="#000000"/>
<path
android:pathData="M47.303,160.651C48.225,160.651 49.665,160.305 51.106,159.556C83.89,142.386 94.434,133.801 94.434,113.117V69.673C94.434,63.739 91.899,61.837 87.059,59.821C80.318,57.055 58.769,49.219 52.085,46.915C50.529,46.396 48.916,46.108 47.303,46.108C45.69,46.108 44.076,46.454 42.578,46.915C35.837,49.104 14.288,57.113 7.547,59.821C2.765,61.78 0.172,63.739 0.172,69.673V113.117C0.172,133.801 11.292,141.407 43.5,159.556C44.998,160.363 46.381,160.651 47.303,160.651ZM40.85,129.365C38.891,129.365 37.278,128.616 35.779,126.599L21.318,108.853C20.453,107.701 19.935,106.375 19.935,105.108C19.935,102.458 21.951,100.326 24.602,100.326C26.215,100.326 27.483,100.902 28.923,102.803L40.619,117.899L65.222,78.373C66.317,76.587 67.815,75.723 69.37,75.723C71.848,75.723 74.21,77.452 74.21,80.102C74.21,81.427 73.519,82.752 72.77,83.905L45.69,126.599C44.48,128.443 42.809,129.365 40.85,129.365Z"
android:fillColor="#028EC1"/>
<group>
<clip-path
android:pathData="M106,184C156.81,184 198,142.81 198,92C198,41.19 156.81,0 106,0C55.19,0 14,41.19 14,92C14,142.81 55.19,184 106,184Z"/>
<path
android:pathData="M99.51,58.367L97.842,74.993L94.452,77.675L91.062,79.687L95.808,89.747L122.251,90.418L118.861,79.687L119.539,74.322L117.471,73.424C115.81,72.699 114.644,71.177 114.4,69.393L112.888,58.361H99.51V58.367Z"
android:fillColor="#F6B893"/>
<path
android:pathData="M120.837,46.717C119.434,73.839 92.075,68.983 92.746,41.741C94.143,14.62 121.509,19.469 120.837,46.717Z"
android:fillColor="#F6B893"/>
<path
android:pathData="M85.636,150.776C74.109,196.38 85.174,261.91 88.741,314.502L97.108,314.77C97.108,314.77 101.909,229.242 103.943,209.793C104.56,203.885 106.58,191.256 107.611,185.764C107.692,185.348 108.581,183.53 108.689,185.65C109.367,199.063 115.469,213.817 116.826,228.571C119.992,263.05 119.294,287.052 120.67,315.508C120.67,315.508 130.373,321.182 130.386,321.122C132.414,313.181 137.845,247.765 137.845,237.961C137.845,235.949 140.489,194.053 129.708,151.446L85.636,150.776Z"
android:fillColor="#8C8C98"/>
<path
android:pathData="M63.455,138.031C68.54,146.079 72.968,141.773 85.152,133.337C85.735,132.934 86.318,132.512 86.922,132.089C86.732,140.191 86.352,147.494 85.64,150.774C83.999,158.359 131.747,158.151 130.391,152.785C127.516,141.425 126.323,120.594 126.323,104.498C123.683,95.499 130.391,122.881 165.086,150.774C168.08,157.212 170.077,143.376 169.957,141.772C148.038,122.298 131.523,77.822 127.336,76.015C127.038,75.888 118.805,73.251 118.812,73.58C118.989,79.596 112.62,89.067 109.365,89.067C103.263,89.067 93.092,80.348 91.682,73.306C77.165,77.498 72.852,93.808 70.038,103.821C66.648,115.9 60.838,133.893 63.455,138.031ZM80.006,122.298C80.48,121.137 81.362,118.622 82.928,113.217L86.149,102.077C86.291,101.581 87.03,101.675 87.037,102.191C87.078,106.054 87.824,109.589 87.77,117.234C84.364,119.972 81.742,122.459 80.582,122.881C80.209,123.022 79.857,122.66 80.006,122.298Z"
android:fillColor="#C66A61"/>
<path
android:pathData="M157.781,157.544C157.734,158.625 158.732,159.452 159.806,159.302C162.671,158.885 168.306,157.065 168.559,157.134C170.392,157.859 175.617,135.373 175.966,134.053C176.068,133.663 175.952,133.232 175.507,132.699C175.07,132.172 174.372,131.94 173.702,132.063C172.061,132.371 167.602,133.171 165.755,133.561C164.422,133.841 164.278,133.889 163.895,135.38C162.61,140.365 157.843,156.423 157.788,157.517C157.781,157.524 157.781,157.537 157.781,157.544Z"
android:fillColor="#4A4A4A"
android:fillType="evenOdd"/>
<path
android:pathData="M173.729,144.057C172.806,143.278 172.094,146.547 170.556,146.834C169.885,146.957 169.202,147.169 168.559,147.463C166.972,148.181 165.789,149.576 165.146,151.197C160.728,162.378 181.217,157.988 173.729,144.057Z"
android:fillColor="#F6B893"/>
<path
android:pathData="M98.486,114.806L101.252,116.847C113.199,112.664 119.982,91.635 103.616,100.376C99.865,103.931 97.981,108.805 95.867,112.588"
android:fillColor="#F6B893"/>
<path
android:pathData="M125.74,77.533C124.784,76.816 123.997,76.293 122.926,75.669C121.685,74.945 120.81,74.549 119.441,73.979C119.332,73.932 119.081,73.979 119.007,74.12C117.854,73.838 116.939,73.328 115.983,72.45C113.969,70.599 112.68,67.313 113.359,63.959C113.725,62.148 114.43,61.397 114.816,60.935C123.529,50.546 117.793,34.015 117.793,34.015C117.793,34.015 112.897,44.222 94.428,51.21C94.428,51.21 95.194,55.958 97.906,59.312C98.103,59.56 100.137,61.377 100.211,64.228C100.279,67.024 100.286,69.854 98.353,74.14C96.001,79.371 90.013,80.632 85.471,78.834C82.08,77.493 80.724,74.14 80.568,70.834C80.568,70.834 89.81,71.37 87.634,61.163C86.006,53.49 84.067,36.731 91.722,27.04C91.831,26.906 91.939,26.772 92.048,26.638C92.122,26.537 92.21,26.436 92.299,26.342C92.454,26.161 92.617,25.98 92.78,25.806C92.936,25.645 93.092,25.484 93.248,25.323C95.648,22.915 98.808,21.105 102.937,20.219C102.937,20.219 118.695,18.073 121.407,27.208C121.407,27.208 125.753,29.36 126.302,37.422C126.845,45.483 125.482,48.434 125.211,54.617C124.885,62.135 124.668,69.667 132.818,71.276C132.832,71.263 133.117,75.367 125.74,77.533Z"
android:fillColor="#CBAB7D"/>
</group>
</group>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:fillColor="#434445"
android:pathData="M0,15.6341a16,15.6341 0,1 0,32 0a16,15.6341 0,1 0,-32 0z" />
<path
android:fillColor="#83D2F2"
android:pathData="M26.6104,15.3141L24.2136,12.5735L24.5476,8.9488L21.0015,8.1433L19.145,5L15.8052,6.4342L12.4654,5L10.6089,8.1335L7.0628,8.9292L7.3968,12.5636L5,15.3141L7.3968,18.0547L7.0628,21.6891L10.6089,22.4946L12.4654,25.6281L15.8052,24.1842L19.145,25.6183L21.0015,22.4848L24.5476,21.6793L24.2136,18.0547L26.6104,15.3141ZM13.929,19.9505L10.1963,16.2079L11.6501,14.7542L13.929,17.0429L19.6754,11.2768L21.1292,12.7306L13.929,19.9505Z" />
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M0,15.6341a16,15.6341 0,1 0,32 0a16,15.6341 0,1 0,-32 0z"
android:fillColor="#434445"/>
<path
android:pathData="M19.2198,9.1678L19.2543,9.1858C20.1691,9.6666 20.9314,10.3236 21.5213,11.0933C21.6763,11.1166 21.8305,11.1226 21.9667,11.0975C22.245,11.0463 23.0157,10.7098 23.1816,10.3384C23.3475,9.967 23.6788,9.2527 24.4647,10.4141L24.4731,10.4265C24.6463,10.6821 25.188,11.4815 24.095,11.4357C23.0606,11.3921 22.5279,12.0266 22.3073,12.3944C22.7285,13.3049 22.9498,14.3018 22.9486,15.3124C23.1674,15.4648 23.4807,15.5771 23.9284,15.5697C24.6777,15.5575 25.1236,15.5703 25.3704,15.5842C25.5299,15.593 26.1202,15.5889 26.2512,15.4987C26.5749,15.2763 27.2001,14.9899 27.1081,16.1798C27.0307,17.177 26.7955,17.5559 26.3234,17.1764C26.0824,16.9831 25.3774,16.7974 25.0776,16.7235C24.4489,16.5674 23.4309,16.4071 22.7886,16.7784C22.6588,17.3686 22.4488,17.9515 22.1539,18.5123C22.1114,18.5933 22.0674,18.6731 22.0222,18.7517L12.4564,9.3946C12.8215,9.1734 13.2055,8.9871 13.6029,8.8373C13.6864,8.6882 13.7592,8.4678 13.7067,8.1909C13.6998,8.1548 13.6932,8.1117 13.6858,8.064L13.6858,8.064C13.647,7.8138 13.5886,7.4368 13.3755,7.2799C13.1421,7.1093 12.6571,6.5371 14.0258,6.3421C14.0591,6.3373 14.0928,6.332 14.1264,6.3266L14.1264,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266C14.4711,6.272 14.805,6.2191 14.6417,6.8142C14.5794,7.0412 14.5683,7.2607 14.5869,7.4621C14.6285,7.9099 14.7627,8.1856 15.0538,8.4632C16.0109,8.3242 17.0032,8.3847 17.9654,8.6649C18.1846,8.5057 18.3983,8.2521 18.5621,7.8526C18.7489,7.3962 18.9077,6.8913 19.0156,6.5478C19.059,6.4097 19.0942,6.2977 19.1198,6.2255C19.1873,6.0334 19.2153,5.8302 19.1989,5.627C19.1698,5.2614 19.2671,4.6549 20.4057,5.2504C21.7254,5.9414 21.3086,6.272 20.8703,6.4467C20.6927,6.5171 20.5367,6.633 20.4092,6.775C20.0407,7.1874 19.3244,8.275 19.2198,9.1678ZM10.0397,11.881L19.5965,21.2207C19.2443,21.4318 18.8747,21.6104 18.4927,21.7553C18.4778,21.9366 18.4826,22.1527 18.5183,22.4095C18.5953,22.9677 18.8992,23.7501 19.0756,24.2043L19.0757,24.2044L19.0757,24.2045L19.0757,24.2046C19.1339,24.3542 19.1781,24.4682 19.1959,24.5268C19.2356,24.6585 19.3101,24.7099 19.4133,24.7811C19.4296,24.7923 19.4466,24.8041 19.4642,24.8167C19.7838,25.0437 20.2676,25.5327 19.1184,25.8546C18.1556,26.1242 17.719,26.0333 17.9128,25.4599C18.0124,25.1677 18.0589,24.95 18.0258,24.6432C17.9627,24.0588 17.5953,22.7526 17.0858,22.1259C16.1485,22.2699 15.1761,22.2225 14.2301,21.9645C13.9739,22.0547 13.6963,22.1853 13.5237,22.3636C13.3269,22.5668 12.895,23.2886 12.9759,23.6868C13.0562,24.0856 13.2018,24.8592 11.8873,24.3702L11.8734,24.3651C11.5842,24.2578 10.6783,23.9219 11.5951,23.3241C12.8112,22.5312 12.4496,21.2261 12.4496,21.2261L12.4356,21.1891C11.6218,20.6923 10.9441,20.0492 10.4187,19.312C10.2376,19.3739 10.0441,19.475 9.8409,19.6291C8.6854,20.5064 8.4584,20.7509 8.4584,20.7509C8.4584,20.7509 7.5153,22.6655 6.5251,21.1479C5.5348,19.6297 6.3492,19.2699 7.432,19.522C7.432,19.522 9.0503,19.0671 9.7667,18.1856C9.3816,17.3468 9.1657,16.4351 9.1369,15.5074C9.0463,15.4435 8.9534,15.387 8.8603,15.3426C8.5681,15.2041 7.6704,15.0789 7.2344,15.2571C6.7623,15.4497 5.8937,15.7251 6.0107,14.6505C6.1045,13.7895 6.4665,13.3767 7.2344,13.9106C7.9416,14.4022 8.7013,14.2481 9.2569,13.9969C9.382,13.3461 9.6036,12.7024 9.9278,12.0855C9.9641,12.0164 10.0014,11.9483 10.0397,11.881ZM7.6364,8.0651L23.1056,23.1964C23.4592,23.5417 23.9595,23.6044 24.2219,23.335C24.4842,23.0662 24.4102,22.5679 24.0567,22.2225L8.5874,7.0912C8.2339,6.7459 7.7341,6.6838 7.4712,6.9526C7.2088,7.2214 7.2828,7.7197 7.6364,8.0651Z"
android:fillColor="#83D2F2"
android:fillType="evenOdd"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="223dp"
android:height="184dp"
android:viewportWidth="223"
android:viewportHeight="184">
<path
android:pathData="M131,184C181.81,184 223,142.81 223,92C223,41.19 181.81,0 131,0C80.19,0 39,41.19 39,92C39,142.81 80.19,184 131,184Z"
android:fillColor="#E3F0FF"/>
<path
android:pathData="M38.539,152.412H51.042C52.194,152.412 53.059,152.757 53.923,153.622L62.796,162.437C70.056,169.754 76.797,169.697 84.057,162.437L92.93,153.622C93.852,152.757 94.658,152.412 95.868,152.412H108.314C118.627,152.412 123.409,147.687 123.409,137.316V124.871C123.409,123.661 123.755,122.854 124.619,121.932L133.435,113.059C140.752,105.799 140.695,99.058 133.435,91.798L124.619,82.925C123.755,82.061 123.409,81.197 123.409,80.044V67.541C123.409,57.286 118.685,52.446 108.314,52.446H95.868C94.658,52.446 93.852,52.158 92.93,51.293L84.057,42.478C76.797,35.161 70.056,35.218 62.796,42.478L53.923,51.293C53.059,52.158 52.194,52.446 51.042,52.446H38.539C28.226,52.446 23.444,57.17 23.444,67.541V80.044C23.444,81.197 23.156,82.061 22.291,82.925L13.476,91.798C6.158,99.058 6.216,105.799 13.476,113.059L22.291,121.932C23.156,122.854 23.444,123.661 23.444,124.871V137.316C23.444,147.629 28.226,152.412 38.539,152.412ZM67.002,130.575C65.043,130.575 63.43,129.826 61.932,127.809L47.47,110.063C46.606,108.911 46.087,107.585 46.087,106.318C46.087,103.667 48.104,101.536 50.754,101.536C52.367,101.536 53.635,102.112 55.075,104.013L66.772,119.109L91.374,79.584C92.469,77.797 93.967,76.933 95.523,76.933C98,76.933 100.363,78.662 100.363,81.312C100.363,82.637 99.614,83.962 98.922,85.115L71.842,127.809C70.632,129.653 68.961,130.575 67.002,130.575Z"
android:fillColor="#028EC1"/>
<group>
<clip-path
android:pathData="M131,184C181.81,184 223,142.81 223,92C223,41.19 181.81,0 131,0C80.19,0 39,41.19 39,92C39,142.81 80.19,184 131,184Z"/>
<path
android:pathData="M124.51,58.367L122.842,74.993L119.452,77.675L116.062,79.687L120.808,89.747L147.252,90.418L143.861,79.687L144.54,74.322L142.471,73.424C140.81,72.699 139.644,71.177 139.4,69.393L137.888,58.361H124.51V58.367Z"
android:fillColor="#F6B893"/>
<path
android:pathData="M145.838,46.717C144.434,73.839 117.075,68.983 117.746,41.741C119.143,14.62 146.509,19.469 145.838,46.717Z"
android:fillColor="#F6B893"/>
<path
android:pathData="M110.636,150.776C99.109,196.38 110.175,261.91 113.741,314.502L122.108,314.77C122.108,314.77 126.909,229.242 128.943,209.793C129.56,203.885 131.58,191.256 132.611,185.764C132.692,185.348 133.581,183.53 133.689,185.65C134.367,199.063 140.47,213.817 141.826,228.571C144.992,263.05 144.294,287.052 145.67,315.508C145.67,315.508 155.373,321.182 155.386,321.122C157.414,313.181 162.845,247.765 162.845,237.961C162.845,235.949 165.489,194.053 154.708,151.446L110.636,150.776Z"
android:fillColor="#8C8C98"/>
<path
android:pathData="M88.455,138.031C93.54,146.079 97.968,141.773 110.152,133.337C110.735,132.934 111.318,132.512 111.922,132.089C111.732,140.191 111.352,147.494 110.64,150.774C108.999,158.359 156.747,158.151 155.391,152.785C152.516,141.425 151.323,120.594 151.323,104.498C148.683,95.499 155.391,122.881 190.086,150.774C193.08,157.212 195.077,143.376 194.957,141.772C173.038,122.298 156.523,77.822 152.336,76.015C152.038,75.888 143.805,73.251 143.812,73.58C143.989,79.596 137.62,89.067 134.365,89.067C128.263,89.067 118.092,80.348 116.682,73.306C102.165,77.498 97.852,93.808 95.038,103.821C91.648,115.9 85.838,133.893 88.455,138.031ZM105.006,122.298C105.48,121.137 106.362,118.622 107.928,113.217L111.149,102.077C111.291,101.581 112.03,101.675 112.037,102.191C112.078,106.054 112.824,109.589 112.77,117.234C109.364,119.972 106.742,122.459 105.582,122.881C105.209,123.022 104.857,122.66 105.006,122.298Z"
android:fillColor="#C66A61"/>
<path
android:pathData="M182.781,157.544C182.734,158.625 183.732,159.452 184.806,159.302C187.671,158.885 193.306,157.065 193.559,157.134C195.392,157.859 200.617,135.373 200.966,134.053C201.068,133.663 200.952,133.232 200.507,132.699C200.07,132.172 199.372,131.94 198.702,132.063C197.061,132.371 192.602,133.171 190.755,133.561C189.422,133.841 189.278,133.889 188.895,135.38C187.61,140.365 182.843,156.423 182.788,157.517C182.781,157.524 182.781,157.537 182.781,157.544Z"
android:fillColor="#4A4A4A"
android:fillType="evenOdd"/>
<path
android:pathData="M198.729,144.057C197.806,143.278 197.094,146.547 195.556,146.834C194.885,146.957 194.202,147.169 193.559,147.463C191.972,148.181 190.789,149.576 190.146,151.197C185.728,162.378 206.217,157.988 198.729,144.057Z"
android:fillColor="#F6B893"/>
<path
android:pathData="M123.486,114.806L126.252,116.847C138.199,112.664 144.982,91.635 128.616,100.376C124.865,103.931 122.981,108.805 120.867,112.588"
android:fillColor="#F6B893"/>
<path
android:pathData="M150.74,77.533C149.784,76.816 148.997,76.293 147.926,75.669C146.685,74.945 145.81,74.549 144.441,73.979C144.332,73.932 144.081,73.979 144.007,74.12C142.854,73.838 141.939,73.328 140.983,72.45C138.969,70.599 137.681,67.313 138.359,63.959C138.725,62.148 139.43,61.397 139.817,60.935C148.529,50.546 142.793,34.015 142.793,34.015C142.793,34.015 137.898,44.222 119.428,51.21C119.428,51.21 120.194,55.958 122.906,59.312C123.103,59.56 125.137,61.377 125.211,64.228C125.279,67.024 125.286,69.854 123.354,74.14C121.001,79.371 115.014,80.632 110.471,78.834C107.081,77.493 105.725,74.14 105.569,70.834C105.569,70.834 114.81,71.37 112.634,61.163C111.006,53.49 109.067,36.731 116.722,27.04C116.831,26.906 116.939,26.772 117.048,26.638C117.122,26.537 117.211,26.436 117.299,26.342C117.455,26.161 117.617,25.98 117.78,25.806C117.936,25.645 118.092,25.484 118.248,25.323C120.648,22.915 123.808,21.105 127.937,20.219C127.937,20.219 143.695,18.073 146.407,27.208C146.407,27.208 150.753,29.36 151.303,37.422C151.845,45.483 150.482,48.434 150.211,54.617C149.885,62.135 149.668,69.667 157.819,71.276C157.832,71.263 158.117,75.367 150.74,77.533Z"
android:fillColor="#4A4A4A"/>
</group>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M0,15.6341a16,15.6341 0,1 0,32 0a16,15.6341 0,1 0,-32 0z"
android:fillColor="#F5F5F5"/>
<path
android:pathData="M26.6104,15.3141L24.2136,12.5735L24.5476,8.9488L21.0015,8.1433L19.145,5L15.8052,6.4342L12.4654,5L10.6089,8.1335L7.0628,8.9292L7.3968,12.5636L5,15.3141L7.3968,18.0547L7.0628,21.6891L10.6089,22.4946L12.4654,25.6281L15.8052,24.1842L19.145,25.6183L21.0015,22.4848L24.5476,21.6793L24.2136,18.0547L26.6104,15.3141ZM13.929,19.9505L10.1963,16.2079L11.6501,14.7542L13.929,17.0429L19.6754,11.2768L21.1292,12.7306L13.929,19.9505Z"
android:fillColor="#007FAD"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M0,15.6341a16,15.6341 0,1 0,32 0a16,15.6341 0,1 0,-32 0z"
android:fillColor="#F5F5F5"/>
<path
android:pathData="M19.2198,9.1678L19.2543,9.1858C20.1691,9.6666 20.9314,10.3236 21.5213,11.0933C21.6763,11.1166 21.8305,11.1226 21.9667,11.0975C22.245,11.0463 23.0157,10.7098 23.1816,10.3384C23.3475,9.967 23.6788,9.2527 24.4647,10.4141L24.4731,10.4265C24.6463,10.6821 25.188,11.4815 24.095,11.4357C23.0606,11.3921 22.5279,12.0266 22.3073,12.3944C22.7285,13.3049 22.9498,14.3018 22.9486,15.3124C23.1674,15.4648 23.4807,15.5771 23.9284,15.5697C24.6777,15.5575 25.1236,15.5703 25.3704,15.5842C25.5299,15.593 26.1202,15.5889 26.2512,15.4987C26.5749,15.2763 27.2001,14.9899 27.1081,16.1798C27.0307,17.177 26.7955,17.5559 26.3234,17.1764C26.0824,16.9831 25.3774,16.7974 25.0776,16.7235C24.4489,16.5674 23.4309,16.4071 22.7886,16.7784C22.6588,17.3686 22.4488,17.9515 22.1539,18.5123C22.1114,18.5933 22.0674,18.6731 22.0222,18.7517L12.4564,9.3946C12.8215,9.1734 13.2055,8.9871 13.6029,8.8373C13.6864,8.6882 13.7592,8.4678 13.7067,8.1909C13.6998,8.1548 13.6932,8.1117 13.6858,8.064L13.6858,8.064C13.647,7.8138 13.5886,7.4368 13.3755,7.2799C13.1421,7.1093 12.6571,6.5371 14.0258,6.3421C14.0591,6.3373 14.0928,6.332 14.1264,6.3266L14.1264,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266L14.1265,6.3266C14.4711,6.272 14.805,6.2191 14.6417,6.8142C14.5794,7.0412 14.5683,7.2607 14.5869,7.4621C14.6285,7.9099 14.7627,8.1856 15.0538,8.4632C16.0109,8.3242 17.0032,8.3847 17.9654,8.6649C18.1846,8.5057 18.3983,8.2521 18.5621,7.8526C18.7489,7.3962 18.9077,6.8913 19.0156,6.5478C19.059,6.4097 19.0942,6.2977 19.1198,6.2255C19.1873,6.0334 19.2153,5.8302 19.1989,5.627C19.1698,5.2614 19.2671,4.6549 20.4057,5.2504C21.7254,5.9414 21.3086,6.272 20.8703,6.4467C20.6927,6.5171 20.5367,6.633 20.4092,6.775C20.0407,7.1874 19.3244,8.275 19.2198,9.1678ZM10.0397,11.881L19.5965,21.2207C19.2443,21.4318 18.8747,21.6104 18.4927,21.7553C18.4778,21.9366 18.4826,22.1527 18.5183,22.4095C18.5953,22.9677 18.8992,23.7501 19.0756,24.2043L19.0757,24.2044L19.0757,24.2045L19.0757,24.2046C19.1339,24.3542 19.1781,24.4682 19.1959,24.5268C19.2356,24.6585 19.3101,24.7099 19.4133,24.7811C19.4296,24.7923 19.4466,24.8041 19.4642,24.8167C19.7838,25.0437 20.2676,25.5327 19.1184,25.8546C18.1556,26.1242 17.719,26.0333 17.9128,25.4599C18.0124,25.1677 18.0589,24.95 18.0258,24.6432C17.9627,24.0588 17.5953,22.7526 17.0858,22.1259C16.1485,22.2699 15.1761,22.2225 14.2301,21.9645C13.9739,22.0547 13.6963,22.1853 13.5237,22.3636C13.3269,22.5668 12.895,23.2886 12.9759,23.6868C13.0562,24.0856 13.2018,24.8592 11.8873,24.3702L11.8734,24.3651C11.5842,24.2578 10.6783,23.9219 11.5951,23.3241C12.8112,22.5312 12.4496,21.2261 12.4496,21.2261L12.4356,21.1891C11.6218,20.6923 10.9441,20.0492 10.4187,19.312C10.2376,19.3739 10.0441,19.475 9.8409,19.6291C8.6854,20.5064 8.4584,20.7509 8.4584,20.7509C8.4584,20.7509 7.5153,22.6655 6.5251,21.1479C5.5348,19.6297 6.3492,19.2699 7.432,19.522C7.432,19.522 9.0503,19.0671 9.7667,18.1856C9.3816,17.3468 9.1657,16.4351 9.1369,15.5074C9.0463,15.4435 8.9534,15.387 8.8603,15.3426C8.5681,15.2041 7.6704,15.0789 7.2344,15.2571C6.7623,15.4497 5.8937,15.7251 6.0107,14.6505C6.1045,13.7895 6.4665,13.3767 7.2344,13.9106C7.9416,14.4022 8.7013,14.2481 9.2569,13.9969C9.382,13.3461 9.6036,12.7024 9.9278,12.0855C9.9641,12.0164 10.0014,11.9483 10.0397,11.881ZM7.6364,8.0651L23.1056,23.1964C23.4592,23.5417 23.9595,23.6044 24.2219,23.335C24.4842,23.0662 24.4102,22.5679 24.0567,22.2225L8.5874,7.0912C8.2339,6.7459 7.7341,6.6838 7.4712,6.9526C7.2088,7.2214 7.2828,7.7197 7.6364,8.0651Z"
android:fillColor="#007FAD"
android:fillType="evenOdd"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="match_parent"
android:background="@color/colorBackground"
tools:context="ui.submission.greencertificate.RequestGreenCertificateFragment">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
style="@style/CWAToolbar.Close.Transparent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:title="@string/request_green_certificate_title" />
<ScrollView
android:id="@+id/scrollview"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/agree_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/illustration_image"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:importantForAccessibility="no"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_green_certificate_illustration" />
<TextView
android:id="@+id/subtitle"
style="@style/subtitleMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/spacing_normal"
android:layout_marginTop="48dp"
android:text="@string/request_green_certificate_subtitle"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/illustration_image" />
<androidx.constraintlayout.widget.Group
android:id="@+id/birthDateGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:constraint_referenced_ids="date_input_layout,birth_date_description" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/date_input_layout"
style="@style/TextInputLayoutTheme"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/spacing_normal"
android:layout_marginTop="@dimen/spacing_small"
android:hint="@string/request_green_certificate_birthdate_hint"
app:endIconMode="clear_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/subtitle">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/date_input_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:cursorVisible="false"
android:focusable="true"
android:focusableInTouchMode="false"
android:imeOptions="actionDone"
android:inputType="date" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/birth_date_description"
style="@style/body2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/spacing_normal"
android:layout_marginTop="16dp"
android:text="@string/request_green_certificate_birthdate_description"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/date_input_layout" />
<ImageView
android:id="@+id/request_green_certificate_info_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="24dp"
android:importantForAccessibility="no"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/birth_date_description"
app:srcCompat="@drawable/ic_green_certificate_virus" />
<TextView
android:id="@+id/request_green_certificate_info_text"
style="@style/subtitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_normal"
android:text="@string/request_green_certificate_body_1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/request_green_certificate_info_icon"
app:layout_constraintTop_toTopOf="@id/request_green_certificate_info_icon" />
<ImageView
android:id="@+id/request_green_certificate_proof_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_medium"
android:importantForAccessibility="no"
app:layout_constraintStart_toStartOf="@id/request_green_certificate_info_icon"
app:layout_constraintTop_toBottomOf="@id/request_green_certificate_info_text"
app:srcCompat="@drawable/ic_green_certificate_proof" />
<TextView
android:id="@+id/request_green_certificate_proof_text"
style="@style/subtitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_normal"
android:text="@string/request_green_certificate_body_2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/request_green_certificate_proof_icon"
app:layout_constraintTop_toTopOf="@id/request_green_certificate_proof_icon" />
<include
android:id="@+id/privacy_card"
layout="@layout/fragment_request_green_certificate_privacy"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_small"
android:layout_marginTop="@dimen/spacing_medium"
android:layout_marginEnd="@dimen/spacing_small"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/request_green_certificate_proof_text" />
<de.rki.coronawarnapp.ui.view.MoreInformationView
android:id="@+id/privacy_information"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_medium"
android:layout_marginTop="@dimen/spacing_normal"
android:layout_marginEnd="@dimen/spacing_medium"
android:layout_marginBottom="@dimen/spacing_small"
android:focusable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/privacy_card"
app:titleText="@string/request_green_certificate_privacy_legal_information" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
<Button
android:id="@+id/agree_button"
style="@style/buttonPrimary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_normal"
android:layout_marginTop="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_normal"
android:layout_marginBottom="@dimen/spacing_small"
android:text="@string/request_green_certificate_agree_button"
app:layout_constraintBottom_toTopOf="@id/disagree_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/scrollview" />
<Button
android:id="@+id/disagree_button"
style="@style/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_normal"
android:layout_marginTop="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_normal"
android:layout_marginBottom="@dimen/spacing_small"
android:text="@string/request_green_certificate_disagree_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
style="@style/GreyCard"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/green_certificatelegal_text_card_title"
style="@style/subtitleBoldSixteen"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_small"
android:layout_marginTop="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_normal"
android:text="@string/request_green_certificate_privacy_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<include
android:id="@+id/bulletpoint_one"
layout="@layout/include_bullet_point"
android:layout_width="@dimen/bullet_point_size"
android:layout_height="@dimen/bullet_point_size"
app:layout_constraintBaseline_toBaselineOf="@id/first_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/green_certificatelegal_text_card_title" />
<TextView
android:id="@+id/first_bulletpoint_text"
style="@style/subtitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_normal"
android:layout_marginTop="@dimen/spacing_normal"
android:text="@string/request_green_certificate_privacy_section_1"
app:layout_constraintEnd_toEndOf="@id/green_certificatelegal_text_card_title"
app:layout_constraintStart_toEndOf="@id/bulletpoint_one"
app:layout_constraintTop_toBottomOf="@id/green_certificatelegal_text_card_title" />
<include
android:id="@+id/bulletpoint_two"
layout="@layout/include_bullet_point"
android:layout_width="@dimen/bullet_point_size"
android:layout_height="@dimen/bullet_point_size"
app:layout_constraintBaseline_toBaselineOf="@id/second_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/bulletpoint_one" />
<TextView
android:id="@+id/second_bulletpoint_text"
style="@style/subtitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:text="@string/request_green_certificate_privacy_section_2"
app:layout_constraintEnd_toEndOf="@id/first_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/first_bulletpoint_text"
app:layout_constraintTop_toBottomOf="@id/first_bulletpoint_text" />
<include
android:id="@+id/extra_pcr_bulletpoint"
layout="@layout/include_bullet_point"
android:layout_width="@dimen/bullet_point_size"
android:layout_height="@dimen/bullet_point_size"
app:layout_constraintBaseline_toBaselineOf="@id/extra_pcr_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/bulletpoint_two" />
<TextView
android:id="@+id/extra_pcr_bulletpoint_text"
style="@style/subtitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:text="@string/request_green_certificate_privacy_pcr_extra_section"
app:layout_constraintEnd_toEndOf="@id/second_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/second_bulletpoint_text"
app:layout_constraintTop_toBottomOf="@id/second_bulletpoint_text" />
<androidx.constraintlayout.widget.Group
android:id="@+id/pcrExtraBullet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:constraint_referenced_ids="extra_pcr_bulletpoint_text,extra_pcr_bulletpoint" />
<include
android:id="@+id/bulletpoint_three"
layout="@layout/include_bullet_point"
android:layout_width="@dimen/bullet_point_size"
android:layout_height="@dimen/bullet_point_size"
app:layout_constraintBaseline_toBaselineOf="@id/third_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/green_certificatelegal_text_card_title" />
<TextView
android:id="@+id/third_bulletpoint_text"
style="@style/subtitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:text="@string/request_green_certificate_privacy_section_3"
app:layout_constraintEnd_toEndOf="@id/second_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/second_bulletpoint_text"
app:layout_constraintTop_toBottomOf="@id/extra_pcr_bulletpoint_text" />
<include
android:id="@+id/bulletpoint_four"
layout="@layout/include_bullet_point"
android:layout_width="@dimen/bullet_point_size"
android:layout_height="@dimen/bullet_point_size"
app:layout_constraintBaseline_toBaselineOf="@id/fourth_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/green_certificatelegal_text_card_title" />
<TextView
android:id="@+id/fourth_bulletpoint_text"
style="@style/subtitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:paddingBottom="@dimen/spacing_small"
android:text="@string/request_green_certificate_privacy_section_4"
app:layout_constraintEnd_toEndOf="@id/third_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/third_bulletpoint_text"
app:layout_constraintTop_toBottomOf="@id/third_bulletpoint_text" />
<include
android:id="@+id/bulletpoint_five"
layout="@layout/include_bullet_point"
android:layout_width="@dimen/bullet_point_size"
android:layout_height="@dimen/bullet_point_size"
app:layout_constraintBaseline_toBaselineOf="@id/fifth_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/green_certificatelegal_text_card_title" />
<TextView
android:id="@+id/fifth_bulletpoint_text"
style="@style/subtitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:paddingBottom="@dimen/spacing_small"
android:text="@string/request_green_certificate_privacy_section_5"
app:layout_constraintEnd_toEndOf="@id/fourth_bulletpoint_text"
app:layout_constraintStart_toStartOf="@id/fourth_bulletpoint_text"
app:layout_constraintTop_toBottomOf="@id/fourth_bulletpoint_text" />
</androidx.constraintlayout.widget.ConstraintLayout>
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