From c2d73e2a1ef9de08a0beb3f3619e4071085e5114 Mon Sep 17 00:00:00 2001 From: Mohamed Metwalli <mohamed.metwalli@sap.com> Date: Thu, 27 May 2021 08:43:08 +0200 Subject: [PATCH] Green certificate UI skeleton (EXPOSUREAPP-7516) (#3283) * Setup green certificate UI * Revert Co-authored-by: BMItter <Berndus@gmx.de> Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com> --- .../GreenCertificateTestFragment.kt | 34 +++++++++++++++++++ .../GreenCertificateTestFragmentModule.kt | 18 ++++++++++ .../GreenCertificateTestFragmentViewModel.kt | 15 ++++++++ .../test/menu/ui/TestMenuFragmentViewModel.kt | 2 ++ .../ui/main/MainActivityTestModule.kt | 5 +++ .../fragment_test_green_certificate.xml | 17 ++++++++++ .../ui/GreenCertificateUIModule.kt | 13 +++++++ .../ui/certificates/CertificatesFragment.kt | 25 ++++++++++++++ .../CertificatesFragmentModule.kt | 18 ++++++++++ .../ui/certificates/CertificatesViewModel.kt | 12 +++++++ .../de/rki/coronawarnapp/ui/UIExtensions.kt | 3 +- .../ui/main/MainActivityModule.kt | 2 ++ .../src/main/res/drawable/ic_certificates.xml | 12 +++++++ .../src/main/res/layout/activity_main.xml | 1 + .../main/res/layout/fragment_certificates.xml | 10 ++++++ .../src/main/res/menu/menu_bottom_nav.xml | 5 +++ .../navigation/green_certificate_graph.xml | 13 +++++++ .../src/main/res/navigation/nav_graph.xml | 3 ++ .../values-de/green_certificate_strings.xml | 2 ++ .../src/main/res/values-de/strings.xml | 3 +- .../res/values/green_certificate_strings.xml | 4 +++ .../src/main/res/values/strings.xml | 2 ++ translation_v2.json | 3 +- 23 files changed, 219 insertions(+), 3 deletions(-) create mode 100644 Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragment.kt create mode 100644 Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragmentModule.kt create mode 100644 Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragmentViewModel.kt create mode 100644 Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_green_certificate.xml create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/GreenCertificateUIModule.kt create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesFragment.kt create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesFragmentModule.kt create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesViewModel.kt create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_certificates.xml create mode 100644 Corona-Warn-App/src/main/res/layout/fragment_certificates.xml create mode 100644 Corona-Warn-App/src/main/res/navigation/green_certificate_graph.xml create mode 100644 Corona-Warn-App/src/main/res/values-de/green_certificate_strings.xml create mode 100644 Corona-Warn-App/src/main/res/values/green_certificate_strings.xml diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragment.kt new file mode 100644 index 000000000..f8de316f6 --- /dev/null +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragment.kt @@ -0,0 +1,34 @@ +package de.rki.coronawarnapp.test.greencertificate + +import android.annotation.SuppressLint +import android.os.Bundle +import android.view.View +import androidx.fragment.app.Fragment +import de.rki.coronawarnapp.R +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.viewBinding +import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider +import de.rki.coronawarnapp.util.viewmodel.cwaViewModels +import javax.inject.Inject + +@SuppressLint("SetTextI18n") +class GreenCertificateTestFragment : Fragment(R.layout.fragment_test_green_certificate), AutoInject { + + @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory + private val viewModel: GreenCertificateTestFragmentViewModel by cwaViewModels { viewModelFactory } + private val binding by viewBinding<FragmentTestGreenCertificateBinding>() + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } + + companion object { + val MENU_ITEM = TestMenuItem( + title = "Green Certificate", + description = "View & Control green certificate related features.", + targetId = R.id.vaccinationTestFragment + ) + } +} diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragmentModule.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragmentModule.kt new file mode 100644 index 000000000..c7bfa9d62 --- /dev/null +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragmentModule.kt @@ -0,0 +1,18 @@ +package de.rki.coronawarnapp.test.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 GreenCertificateTestFragmentModule { + @Binds + @IntoMap + @CWAViewModelKey(GreenCertificateTestFragmentViewModel::class) + abstract fun testVaccinationFragment( + factory: GreenCertificateTestFragmentViewModel.Factory + ): CWAViewModelFactory<out CWAViewModel> +} diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragmentViewModel.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragmentViewModel.kt new file mode 100644 index 000000000..274a2af66 --- /dev/null +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragmentViewModel.kt @@ -0,0 +1,15 @@ +package de.rki.coronawarnapp.test.greencertificate + +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject +import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.viewmodel.CWAViewModel +import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory + +class GreenCertificateTestFragmentViewModel @AssistedInject constructor( + dispatcherProvider: DispatcherProvider, +) : CWAViewModel(dispatcherProvider = dispatcherProvider) { + + @AssistedFactory + interface Factory : SimpleCWAViewModelFactory<GreenCertificateTestFragmentViewModel> +} diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/menu/ui/TestMenuFragmentViewModel.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/menu/ui/TestMenuFragmentViewModel.kt index e4ef69df2..915453e16 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/menu/ui/TestMenuFragmentViewModel.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/menu/ui/TestMenuFragmentViewModel.kt @@ -11,6 +11,7 @@ import de.rki.coronawarnapp.test.crash.ui.SettingsCrashReportFragment import de.rki.coronawarnapp.test.datadonation.ui.DataDonationTestFragment import de.rki.coronawarnapp.test.debugoptions.ui.DebugOptionsFragment import de.rki.coronawarnapp.test.deltaonboarding.ui.DeltaonboardingFragment +import de.rki.coronawarnapp.test.greencertificate.GreenCertificateTestFragment import de.rki.coronawarnapp.test.hometestcards.ui.HomeTestCardsFragment import de.rki.coronawarnapp.test.keydownload.ui.KeyDownloadTestFragment import de.rki.coronawarnapp.test.playground.ui.PlaygroundFragment @@ -43,6 +44,7 @@ class TestMenuFragmentViewModel @AssistedInject constructor() : CWAViewModel() { HomeTestCardsFragment.MENU_ITEM, CoronaTestTestFragment.MENU_ITEM, VaccinationTestFragment.MENU_ITEM, + GreenCertificateTestFragment.MENU_ITEM, ).let { MutableLiveData(it) } } val showTestScreenEvent = SingleLiveEvent<TestMenuItem>() diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/ui/main/MainActivityTestModule.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/ui/main/MainActivityTestModule.kt index ebd69f5e0..7827f307a 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/ui/main/MainActivityTestModule.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/ui/main/MainActivityTestModule.kt @@ -16,6 +16,8 @@ import de.rki.coronawarnapp.test.debugoptions.ui.DebugOptionsFragment import de.rki.coronawarnapp.test.debugoptions.ui.DebugOptionsFragmentModule import de.rki.coronawarnapp.test.deltaonboarding.ui.DeltaOnboardingFragmentModule import de.rki.coronawarnapp.test.deltaonboarding.ui.DeltaonboardingFragment +import de.rki.coronawarnapp.test.greencertificate.GreenCertificateTestFragment +import de.rki.coronawarnapp.test.greencertificate.GreenCertificateTestFragmentModule import de.rki.coronawarnapp.test.hometestcards.ui.HomeTestCardsFragment import de.rki.coronawarnapp.test.hometestcards.ui.HomeTestCardsFragmentModule import de.rki.coronawarnapp.test.keydownload.ui.KeyDownloadTestFragment @@ -90,4 +92,7 @@ abstract class MainActivityTestModule { @ContributesAndroidInjector(modules = [VaccinationTestFragmentModule::class]) abstract fun vaccinationTest(): VaccinationTestFragment + + @ContributesAndroidInjector(modules = [GreenCertificateTestFragmentModule::class]) + abstract fun greenCertificateTestFragment(): GreenCertificateTestFragment } diff --git a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_green_certificate.xml b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_green_certificate.xml new file mode 100644 index 000000000..5fa027ddc --- /dev/null +++ b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_green_certificate.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.core.widget.NestedScrollView 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" + tools:ignore="HardcodedText"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_margin="8dp" + android:orientation="vertical" + android:paddingBottom="32dp"> + + + </LinearLayout> +</androidx.core.widget.NestedScrollView> diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/GreenCertificateUIModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/GreenCertificateUIModule.kt new file mode 100644 index 000000000..77c6fae3d --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/GreenCertificateUIModule.kt @@ -0,0 +1,13 @@ +package de.rki.coronawarnapp.greencertificate.ui + +import dagger.Module +import dagger.android.ContributesAndroidInjector +import de.rki.coronawarnapp.greencertificate.ui.certificates.CertificatesFragment +import de.rki.coronawarnapp.greencertificate.ui.certificates.CertificatesFragmentModule + +@Module +abstract class GreenCertificateUIModule { + + @ContributesAndroidInjector(modules = [CertificatesFragmentModule::class]) + abstract fun certificatesFragment(): CertificatesFragment +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesFragment.kt new file mode 100644 index 000000000..4fbd48df5 --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesFragment.kt @@ -0,0 +1,25 @@ +package de.rki.coronawarnapp.greencertificate.ui.certificates + +import android.os.Bundle +import android.view.View +import androidx.fragment.app.Fragment +import de.rki.coronawarnapp.R +import de.rki.coronawarnapp.databinding.FragmentCertificatesBinding +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.cwaViewModels +import javax.inject.Inject + +class CertificatesFragment : Fragment(R.layout.fragment_certificates), AutoInject { + + @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory + private val viewModel by cwaViewModels<CertificatesViewModel> { viewModelFactory } + private val binding by viewBinding<FragmentCertificatesBinding>() + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + // TODO + } +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesFragmentModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesFragmentModule.kt new file mode 100644 index 000000000..a0e9ec938 --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesFragmentModule.kt @@ -0,0 +1,18 @@ +package de.rki.coronawarnapp.greencertificate.ui.certificates + +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 CertificatesFragmentModule { + @Binds + @IntoMap + @CWAViewModelKey(CertificatesViewModel::class) + abstract fun certificatesFragment( + factory: CertificatesViewModel.Factory + ): CWAViewModelFactory<out CWAViewModel> +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesViewModel.kt new file mode 100644 index 000000000..b4f1a79d0 --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/CertificatesViewModel.kt @@ -0,0 +1,12 @@ +package de.rki.coronawarnapp.greencertificate.ui.certificates + +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject +import de.rki.coronawarnapp.util.viewmodel.CWAViewModel +import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory + +class CertificatesViewModel @AssistedInject constructor() : CWAViewModel() { + + @AssistedFactory + interface Factory : SimpleCWAViewModelFactory<CertificatesViewModel> +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/UIExtensions.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/UIExtensions.kt index 4a8dea0d8..da20583ee 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/UIExtensions.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/UIExtensions.kt @@ -55,7 +55,8 @@ fun BottomNavigationView.setupWithNavController2( val inShowList = destination.id in listOf( R.id.mainFragment, R.id.checkInsFragment, - R.id.contactDiaryOverviewFragment + R.id.contactDiaryOverviewFragment, + R.id.certificatesFragment, ) // For destinations that can show or hide the bottom bar in different cases // for example [ContactDiaryOnboardingFragment] diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivityModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivityModule.kt index 39a64b079..552d7ccb8 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivityModule.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivityModule.kt @@ -5,6 +5,7 @@ import dagger.Module import dagger.android.ContributesAndroidInjector import dagger.multibindings.IntoMap import de.rki.coronawarnapp.datadonation.analytics.ui.AnalyticsUIModule +import de.rki.coronawarnapp.greencertificate.ui.GreenCertificateUIModule import de.rki.coronawarnapp.release.NewReleaseInfoFragment import de.rki.coronawarnapp.release.NewReleaseInfoFragmentModule import de.rki.coronawarnapp.tracing.ui.details.TracingDetailsFragmentModule @@ -41,6 +42,7 @@ import de.rki.coronawarnapp.vaccination.ui.VaccinationUIModule PresenceTracingUIModule::class, RATProfileUIModule::class, VaccinationUIModule::class, + GreenCertificateUIModule::class, ] ) abstract class MainActivityModule { diff --git a/Corona-Warn-App/src/main/res/drawable/ic_certificates.xml b/Corona-Warn-App/src/main/res/drawable/ic_certificates.xml new file mode 100644 index 000000000..8dca6f853 --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable/ic_certificates.xml @@ -0,0 +1,12 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="22dp" + android:height="21dp" + android:viewportWidth="22" + android:viewportHeight="21"> + <path + android:pathData="M22,10.49L19.56,7.7L19.9,4.01L16.29,3.19L14.4,0L11,1.46L7.6,0L5.71,3.19L2.1,4L2.44,7.7L0,10.49L2.44,13.28L2.1,16.98L5.71,17.8L7.6,21L11,19.53L14.4,20.99L16.29,17.8L19.9,16.98L19.56,13.29L22,10.49ZM18.05,11.97L17.49,12.62L17.57,13.47L17.75,15.42L15.85,15.85L15.01,16.04L14.57,16.78L13.58,18.46L11.8,17.69L11,17.35L10.21,17.69L8.43,18.46L7.44,16.79L7,16.05L6.16,15.86L4.26,15.43L4.44,13.47L4.52,12.62L3.96,11.97L2.67,10.5L3.96,9.02L4.52,8.37L4.43,7.51L4.25,5.57L6.15,5.14L6.99,4.95L7.43,4.21L8.42,2.53L10.2,3.3L11,3.64L11.79,3.3L13.57,2.53L14.56,4.21L15,4.95L15.84,5.14L17.74,5.57L17.56,7.52L17.48,8.37L18.04,9.02L19.33,10.49L18.05,11.97Z" + android:fillColor="#949494"/> + <path + android:pathData="M9.09,12.25L6.77,9.92L5.29,11.41L9.09,15.22L16.43,7.86L14.95,6.37L9.09,12.25Z" + android:fillColor="#949494"/> +</vector> diff --git a/Corona-Warn-App/src/main/res/layout/activity_main.xml b/Corona-Warn-App/src/main/res/layout/activity_main.xml index abf1364de..076a8e9d5 100644 --- a/Corona-Warn-App/src/main/res/layout/activity_main.xml +++ b/Corona-Warn-App/src/main/res/layout/activity_main.xml @@ -30,6 +30,7 @@ android:layout_height="wrap_content" app:itemIconTint="@color/nav_item_color" app:itemTextColor="@color/nav_item_color" + app:labelVisibilityMode="labeled" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/Corona-Warn-App/src/main/res/layout/fragment_certificates.xml b/Corona-Warn-App/src/main/res/layout/fragment_certificates.xml new file mode 100644 index 000000000..6d94b0e43 --- /dev/null +++ b/Corona-Warn-App/src/main/res/layout/fragment_certificates.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<FrameLayout 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" + tools:context=".greencertificate.ui.certificates.CertificatesFragment"> + + <!-- TODO: Update blank fragment layout --> + +</FrameLayout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/menu/menu_bottom_nav.xml b/Corona-Warn-App/src/main/res/menu/menu_bottom_nav.xml index e37df44b6..6362d1a36 100644 --- a/Corona-Warn-App/src/main/res/menu/menu_bottom_nav.xml +++ b/Corona-Warn-App/src/main/res/menu/menu_bottom_nav.xml @@ -6,6 +6,11 @@ android:icon="@drawable/ic_nav_home" android:title="@string/bottom_nav_home_title" /> + <item + android:id="@+id/green_certificate_graph" + android:icon="@drawable/ic_certificates" + android:title="@string/bottom_nav_certificates_title" /> + <item android:id="@+id/trace_location_attendee_nav_graph" android:icon="@drawable/ic_nav_checkin" diff --git a/Corona-Warn-App/src/main/res/navigation/green_certificate_graph.xml b/Corona-Warn-App/src/main/res/navigation/green_certificate_graph.xml new file mode 100644 index 000000000..fda8b2254 --- /dev/null +++ b/Corona-Warn-App/src/main/res/navigation/green_certificate_graph.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<navigation 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:id="@+id/green_certificate_graph" + app:startDestination="@id/certificatesFragment"> + + <fragment + android:id="@+id/certificatesFragment" + android:name="de.rki.coronawarnapp.greencertificate.ui.certificates.CertificatesFragment" + android:label="fragment_certificates" + tools:layout="@layout/fragment_certificates" /> +</navigation> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml index 3b7b70124..95dbddcbf 100644 --- a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml +++ b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml @@ -19,6 +19,9 @@ <!-- Vaccination graph--> <include app:graph="@navigation/vaccination_nav_graph" /> + <!-- Certificates graph--> + <include app:graph="@navigation/green_certificate_graph" /> + <!-- Main --> <fragment android:id="@+id/mainFragment" diff --git a/Corona-Warn-App/src/main/res/values-de/green_certificate_strings.xml b/Corona-Warn-App/src/main/res/values-de/green_certificate_strings.xml new file mode 100644 index 000000000..a6b3daec9 --- /dev/null +++ b/Corona-Warn-App/src/main/res/values-de/green_certificate_strings.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources></resources> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml index 60f288421..69f808d82 100644 --- a/Corona-Warn-App/src/main/res/values-de/strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/strings.xml @@ -1839,7 +1839,8 @@ <string name="bottom_nav_diary_title">Tagebuch</string> <!-- XHED: Title for BottomNav check-in screen title --> <string name="bottom_nav_check_ins_title">Check-in</string> - + <!-- XHED: Title for BottomNav certificates screen title --> + <string name="bottom_nav_certificates_title">"Nachweise"</string> <!-- #################################### Data Donation & Survey ###################################### --> diff --git a/Corona-Warn-App/src/main/res/values/green_certificate_strings.xml b/Corona-Warn-App/src/main/res/values/green_certificate_strings.xml new file mode 100644 index 000000000..9f9425aac --- /dev/null +++ b/Corona-Warn-App/src/main/res/values/green_certificate_strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" tools:ignore="MissingTranslation"> + +</resources> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml index cf882005a..d3b61b79a 100644 --- a/Corona-Warn-App/src/main/res/values/strings.xml +++ b/Corona-Warn-App/src/main/res/values/strings.xml @@ -1839,6 +1839,8 @@ <string name="bottom_nav_diary_title">"Journal"</string> <!-- XHED: Title for BottomNav check-in screen title --> <string name="bottom_nav_check_ins_title">"Check In"</string> + <!-- XHED: Title for BottomNav certificates screen title --> + <string name="bottom_nav_certificates_title">"Nachweise"</string> <!-- #################################### Data Donation & Survey diff --git a/translation_v2.json b/translation_v2.json index 1feb70055..286c27bb7 100644 --- a/translation_v2.json +++ b/translation_v2.json @@ -11,7 +11,8 @@ "release_info_strings.xml", "event_registration_strings.xml", "antigen_strings.xml", - "vaccination_strings.xml" + "vaccination_strings.xml", + "green_certificate_strings.xml" ], "targetFolderPath": "../values-[langCode]" } -- GitLab