From 57ce870f09e021e91173d2d0ff7dfc3e432927e9 Mon Sep 17 00:00:00 2001 From: AlexanderAlferov <64849422+AlexanderAlferov@users.noreply.github.com> Date: Wed, 17 Feb 2021 13:05:23 +0300 Subject: [PATCH] Contact journal comment info screen (EXPOSUREAPP-5109) (#2357) * Contact diary person comment info * Removed integration with person list adapter * Fix lint issue - separate test fragment --- .../ui/ContactDiaryCommentInfoTestFragment.kt | 31 ++++++++++ .../test/menu/ui/TestMenuFragmentViewModel.kt | 4 +- .../res/navigation/test_nav_graph.xml | 9 +++ .../tabs/ContactDiaryCommentInfoFragment.kt | 22 +++++++ .../contact_diary_comment_info_fragment.xml | 58 +++++++++++++++++++ .../navigation/contact_diary_nav_graph.xml | 8 +++ .../res/values-de/contact_diary_strings.xml | 7 +++ .../main/res/values/contact_diary_strings.xml | 8 ++- 8 files changed, 145 insertions(+), 2 deletions(-) create mode 100644 Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/contactdiary/ui/ContactDiaryCommentInfoTestFragment.kt create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/ContactDiaryCommentInfoFragment.kt create mode 100644 Corona-Warn-App/src/main/res/layout/contact_diary_comment_info_fragment.xml diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/contactdiary/ui/ContactDiaryCommentInfoTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/contactdiary/ui/ContactDiaryCommentInfoTestFragment.kt new file mode 100644 index 000000000..39a057c76 --- /dev/null +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/contactdiary/ui/ContactDiaryCommentInfoTestFragment.kt @@ -0,0 +1,31 @@ +package de.rki.coronawarnapp.test.contactdiary.ui + +import android.os.Bundle +import android.view.View +import androidx.fragment.app.Fragment +import de.rki.coronawarnapp.R +import de.rki.coronawarnapp.databinding.ContactDiaryCommentInfoFragmentBinding +import de.rki.coronawarnapp.test.menu.ui.TestMenuItem +import de.rki.coronawarnapp.util.ui.popBackStack +import de.rki.coronawarnapp.util.ui.viewBindingLazy + +class ContactDiaryCommentInfoTestFragment : Fragment(R.layout.contact_diary_comment_info_fragment) { + + private val binding: ContactDiaryCommentInfoFragmentBinding by viewBindingLazy() + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.toolbar.setNavigationOnClickListener { + popBackStack() + } + } + + companion object { + val MENU_ITEM = TestMenuItem( + title = "Contact Diary Comment Info", + description = "Contact diary comment info screen", + targetId = R.id.test_contact_diary_comment_fragment + ) + } +} 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 7d09cc6c4..f92cae4fe 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 @@ -5,6 +5,7 @@ import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import de.rki.coronawarnapp.miscinfo.MiscInfoFragment import de.rki.coronawarnapp.test.appconfig.ui.AppConfigTestFragment +import de.rki.coronawarnapp.test.contactdiary.ui.ContactDiaryCommentInfoTestFragment import de.rki.coronawarnapp.test.contactdiary.ui.ContactDiaryTestFragment import de.rki.coronawarnapp.test.crash.ui.SettingsCrashReportFragment import de.rki.coronawarnapp.test.datadonation.ui.DataDonationTestFragment @@ -30,7 +31,8 @@ class TestMenuFragmentViewModel @AssistedInject constructor() : CWAViewModel() { SettingsCrashReportFragment.MENU_ITEM, MiscInfoFragment.MENU_ITEM, ContactDiaryTestFragment.MENU_ITEM, - DataDonationTestFragment.MENU_ITEM + DataDonationTestFragment.MENU_ITEM, + ContactDiaryCommentInfoTestFragment.MENU_ITEM ).let { MutableLiveData(it) } } val showTestScreenEvent = SingleLiveEvent<TestMenuItem>() diff --git a/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml b/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml index c55e7035a..975805fab 100644 --- a/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml +++ b/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml @@ -40,6 +40,9 @@ <action android:id="@+id/action_test_menu_fragment_to_dataDonationFragment" app:destination="@id/test_datadonation_fragment" /> + <action + android:id="@+id/action_test_menu_fragment_to_test_contact_diary_person_comment_fragment" + app:destination="@id/test_contact_diary_comment_fragment" /> </fragment> <fragment @@ -108,5 +111,11 @@ tools:layout="@layout/fragment_test_datadonation" android:name="de.rki.coronawarnapp.test.datadonation.ui.DataDonationTestFragment" android:label="DataDonationFragment" /> + <fragment + android:id="@+id/test_contact_diary_comment_fragment" + android:name="de.rki.coronawarnapp.test.contactdiary.ui.ContactDiaryCommentInfoTestFragment" + android:label="CommentInfoTestFragment" + tools:layout="@layout/contact_diary_comment_info_fragment" /> + </navigation> diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/ContactDiaryCommentInfoFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/ContactDiaryCommentInfoFragment.kt new file mode 100644 index 000000000..06b77c17c --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/ContactDiaryCommentInfoFragment.kt @@ -0,0 +1,22 @@ +package de.rki.coronawarnapp.contactdiary.ui.day.tabs + +import android.os.Bundle +import android.view.View +import androidx.fragment.app.Fragment +import de.rki.coronawarnapp.R +import de.rki.coronawarnapp.databinding.ContactDiaryCommentInfoFragmentBinding +import de.rki.coronawarnapp.util.ui.popBackStack +import de.rki.coronawarnapp.util.ui.viewBindingLazy + +class ContactDiaryCommentInfoFragment : Fragment(R.layout.contact_diary_comment_info_fragment) { + + private val binding: ContactDiaryCommentInfoFragmentBinding by viewBindingLazy() + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.toolbar.setNavigationOnClickListener { + popBackStack() + } + } +} diff --git a/Corona-Warn-App/src/main/res/layout/contact_diary_comment_info_fragment.xml b/Corona-Warn-App/src/main/res/layout/contact_diary_comment_info_fragment.xml new file mode 100644 index 000000000..b2d7b3114 --- /dev/null +++ b/Corona-Warn-App/src/main/res/layout/contact_diary_comment_info_fragment.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8"?> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> + + <Toolbar + android:id="@+id/toolbar" + style="@style/CWAToolbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:navigationIcon="@drawable/ic_close" /> + + <ScrollView + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> + + <TextView + style="@style/headline4" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="24dp" + android:layout_marginTop="12dp" + android:layout_marginEnd="24dp" + android:text="@string/contact_diary_comment_info_screen_title" /> + + <TextView + style="@style/body1" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="24dp" + android:layout_marginTop="28dp" + android:layout_marginEnd="24dp" + android:letterSpacing="0.015" + android:text="@string/contact_diary_comment_info_screen_description" + android:textStyle="bold" /> + + <TextView + style="@style/body1" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="24dp" + android:layout_marginTop="14dp" + android:layout_marginEnd="24dp" + android:text="@string/contact_diary_comment_info_screen_body" /> + + </LinearLayout> + + </ScrollView> + +</LinearLayout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml index a11f6a236..325bbaa2c 100644 --- a/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml +++ b/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml @@ -28,6 +28,9 @@ <argument android:name="selectedDay" app:argType="string" /> + <action + android:id="@+id/action_contactDiaryPersonListFragment_to_contactDiaryPersonCommentInfoFragment" + app:destination="@id/contactDiaryCommentInfoFragment" /> </fragment> <fragment android:id="@+id/contactDiaryPlaceListFragment" @@ -129,5 +132,10 @@ android:id="@+id/action_contactDiaryEditPersonsFragment_to_contactDiaryPersonBottomSheetDialogFragment" app:destination="@id/contactDiaryPersonBottomSheetDialogFragment" /> </fragment> + <fragment + android:id="@+id/contactDiaryCommentInfoFragment" + android:name="de.rki.coronawarnapp.contactdiary.ui.day.tabs.ContactDiaryCommentInfoFragment" + android:label="CommentInfoFragment" + tools:layout="@layout/contact_diary_comment_info_fragment" /> </navigation> diff --git a/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml b/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml index 2ac056f52..c216ba437 100644 --- a/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml @@ -112,6 +112,13 @@ <!-- XHED: Title for the contact diary dialog to delete delete a single person --> <string name="contact_diary_delete_person_title">"Wollen Sie wirklich diese Person entfernen?"</string> + <!-- XHED: Title for the contact diary comment info screen --> + <string name="contact_diary_comment_info_screen_title">"Notiz"</string> + <!-- XTXT: Description for contact diary comment info screen --> + <string name="contact_diary_comment_info_screen_description">"Hier können Sie Notizen machen, die Ihnen helfen, das Risiko einer Infektion besser einzuschätzen."</string> + <!-- XTXT: Body for contact diary comment info screen --> + <string name="contact_diary_comment_info_screen_body">"Notieren Sie Umstände, die zu einem erhöhten Risiko führen könnten, z.B. räumliche Nähe zu anderen Personen oder die Ausübung einer Tätigkeit, die sich auf die Luftqualität auswirkt (Beispiele: „saßen nah beieinander“, „es wurde Sport getrieben“, „wir haben gesungen“).\n\nSollten Sie sich tatsächlich anstecken, können diese Notizen auch dem Gesundheitsamt bei der Nachverfolgung möglicher Infektionsketten helfen."</string> + <!-- XTXT: location (description for screen readers) --> <string name="accessibility_location">"Ort %s"</string> <!-- XTXT: person (description for screen readers) --> diff --git a/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml b/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml index 70a9eda52..dc52c28fe 100644 --- a/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml +++ b/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml @@ -119,6 +119,13 @@ <!-- XTXT: Intro text for the contact journal email export part two--> <string name="contact_diary_export_intro_two" translatable="false">"Die nachfolgende Liste dient dem zuständigen Gesundheitsamt zur Kontaktnachverfolgung gem. § 25 IfSG."</string> + <!-- XHED: Title for the contact diary comment info screen --> + <string name="contact_diary_comment_info_screen_title">"Notiz"</string> + <!-- XTXT: Description for contact diary comment info screen --> + <string name="contact_diary_comment_info_screen_description">"Hier können Sie Notizen machen, die Ihnen helfen, das Risiko einer Infektion besser einzuschätzen."</string> + <!-- XTXT: Body for contact diary comment info screen --> + <string name="contact_diary_comment_info_screen_body">"Notieren Sie Umstände, die zu einem erhöhten Risiko führen könnten, z.B. räumliche Nähe zu anderen Personen oder die Ausübung einer Tätigkeit, die sich auf die Luftqualität auswirkt (Beispiele: „saßen nah beieinander“, „es wurde Sport getrieben“, „wir haben gesungen“).\n\nSollten Sie sich tatsächlich anstecken, können diese Notizen auch dem Gesundheitsamt bei der Nachverfolgung möglicher Infektionsketten helfen."</string> + <!-- XTXT: location (description for screen readers) --> <string name="accessibility_location">"Place %s"</string> <!-- XTXT: person (description for screen readers) --> @@ -141,5 +148,4 @@ <!-- XTXT: Edit (description for screen readers) --> <string name="accessibility_edit">"Edit"</string> - </resources> -- GitLab