Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

Commit

Permalink
Replace the current exposure status with a positive result card when …
Browse files Browse the repository at this point in the history
…test result is positive (#79)

* Made submission status card style more cross device friendly

Signed-off-by: Kolya Opahle <k.opahle@sap.com>

* Added the positive result submission status card

Signed-off-by: Kolya Opahle <k.opahle@sap.com>

* lint fix

* Updated main fragment documentation

* Added icon for sharing risk status

Signed-off-by: Kolya Opahle <k.opahle@sap.com>

* Updated positive result home screen card text and icons

Signed-off-by: Kolya Opahle <k.opahle@sap.com>
  • Loading branch information
kolyaopahle authored Jun 2, 2020
1 parent fdf0330 commit 1722aff
Show file tree
Hide file tree
Showing 10 changed files with 195 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,12 @@ import de.rki.coronawarnapp.util.OpenUrlHelper

/**
* After the user has finished the onboarding this fragment will be the heart of the application.
* Two ViewModels are needed that this fragment shows all relevant information to the user.
* Three ViewModels are needed that this fragment shows all relevant information to the user.
* Also the Menu is set here.
*
* @see tracingViewModel
* @see settingsViewModel
* @see submissionViewModel
* @see PopupMenu
*/
class MainFragment : BaseFragment() {
Expand Down Expand Up @@ -86,6 +87,11 @@ class MainFragment : BaseFragment() {
MainFragmentDirections.actionMainFragmentToSubmissionResultFragment()
)
}
binding.mainTestPositive.submissionStatusCardPositiveResultShowButton.setOnClickListener {
doNavigate(
MainFragmentDirections.actionMainFragmentToSubmissionResultFragment()
)
}
binding.mainTest.submissionStatusCardUnregistered.submissionStatusCardUnregisteredButton.setOnClickListener {
doNavigate(
MainFragmentDirections.actionMainFragmentToSubmissionIntroFragment()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,22 +112,6 @@ fun formatSubmissionStatusCardContentButtonText(testResult: TestResult?): String
}
}

fun formatSubmissionStatusCardContentButtonColor(testResult: TestResult?): Int {
val appContext = CoronaWarnApplication.getAppContext()
return when (testResult) {
INVALID, NEGATIVE, POSITIVE -> appContext.getColor(R.color.tracingIconActive)
else -> appContext.getColor(R.color.colorLight)
}
}

fun formatSubmissionStatusCardContentButtonTextColor(testResult: TestResult?): Int {
val appContext = CoronaWarnApplication.getAppContext()
return when (testResult) {
INVALID, NEGATIVE, POSITIVE -> appContext.getColor(R.color.colorLight)
else -> appContext.getColor(R.color.tracingIconActive)
}
}

fun formatSubmissionStatusCardContentStatusTextVisible(testResult: TestResult?): Int {
return when (testResult) {
POSITIVE, NEGATIVE, INVALID -> View.VISIBLE
Expand Down Expand Up @@ -172,3 +156,12 @@ fun formatSubmissionTanButtonTextColor(isValidTanFormat: Boolean) = formatColor(
R.color.textColorLight,
R.color.colorGreyDisabled
)

fun formatShowSubmissionStatusCard(testResult: TestResult?): Int =
formatVisibility(testResult != POSITIVE)

fun formatShowSubmissionStatusPositiveCard(testResult: TestResult?): Int =
formatVisibility(testResult == POSITIVE)

fun formatShowRiskStatusCard(testResult: TestResult?): Int =
formatVisibility(testResult != POSITIVE)
12 changes: 12 additions & 0 deletions Corona-Warn-App/src/main/res/drawable/ic_risk_details_share.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="28dp"
android:height="28dp"
android:viewportWidth="28"
android:viewportHeight="28">
<path
android:fillColor="#ffffff"
android:fillType="nonZero"
android:pathData="M20.4535,12.2791C19.8564,9.2499 17.196,6.9758 14,6.9758c-2.5375,0 -4.7413,1.44 -5.8389,3.5472 -2.6429,0.281 -4.6974,2.5199 -4.6974,5.233 0,2.9063 2.3619,5.2682 5.2682,5.2682L20.1462,21.0242c2.4234,0 4.3901,-1.9668 4.3901,-4.3901 0,-2.318 -1.8,-4.197 -4.0828,-4.355zM15.7561,14.878v3.5121L12.2439,18.3901L12.2439,14.878L9.6099,14.878L13.6927,10.7952c0.1756,-0.1756 0.4478,-0.1756 0.6234,0l4.074,4.0828z"
android:strokeWidth="0.878027"
android:strokeColor="#00000000" />
</vector>
17 changes: 16 additions & 1 deletion Corona-Warn-App/src/main/res/layout/fragment_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<data>

<import type="de.rki.coronawarnapp.util.formatter.FormatterSettingsHelper" />
<import type="de.rki.coronawarnapp.util.formatter.FormatterSubmissionHelper" />

<variable
name="submissionViewModel"
Expand Down Expand Up @@ -125,6 +126,7 @@
<include
android:id="@+id/main_risk"
layout="@layout/include_risk_card"
android:visibility="@{FormatterSubmissionHelper.formatShowRiskStatusCard(submissionViewModel.testResult)}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
Expand All @@ -135,15 +137,28 @@
app:showDetails="@{false}"
app:tracingViewModel="@{tracingViewModel}" />

<include
android:id="@+id/main_test_positive"
layout="@layout/include_submission_status_card_positive"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:visibility="@{FormatterSubmissionHelper.formatShowSubmissionStatusPositiveCard(submissionViewModel.testResult)}"
app:layout_constraintEnd_toStartOf="@+id/guideline_end"
app:layout_constraintStart_toStartOf="@+id/guideline_start"
app:layout_constraintTop_toBottomOf="@+id/main_risk"
app:registerDate="@{submissionViewModel.testResultReceivedDate}" />

<include
android:id="@+id/main_test"
layout="@layout/include_submission_status_card"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:visibility="@{FormatterSubmissionHelper.formatShowSubmissionStatusCard(submissionViewModel.testResult)}"
app:layout_constraintEnd_toStartOf="@+id/guideline_end"
app:layout_constraintStart_toStartOf="@+id/guideline_start"
app:layout_constraintTop_toBottomOf="@+id/main_risk"
app:layout_constraintTop_toBottomOf="@+id/main_test_positive"
app:submissionViewModel="@{submissionViewModel}" />

<include
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,46 +22,43 @@
style="@style/textTitle"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_normal"
android:layout_marginTop="@dimen/spacing_normal"
android:layout_marginEnd="@dimen/spacing_normal"
android:text="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentTitleText(testResult)}"
app:layout_constraintEnd_toStartOf="@+id/submission_status_card_unregistered_icon"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/submission_status_card_content_subtitle"
android:layout_width="@dimen/submission_status_card_text_width"
android:layout_height="@dimen/match_constraint"
android:layout_marginTop="@dimen/spacing_normal"
android:layout_marginBottom="@dimen/spacing_tiny"
style="@style/textSubTitle"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/spacing_tiny"
android:text="@{FormatterSubmissionHelper.formatTestResultStatusText(testResult)}"
android:textColor="@{FormatterSubmissionHelper.formatTestResultStatusColor(testResult)}"
android:visibility="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentStatusTextVisible(testResult)}"
app:layout_constraintBottom_toTopOf="@+id/submission_status_card_content_body"
app:layout_constraintStart_toStartOf="@+id/submission_status_card_content_title" />
app:layout_constraintEnd_toStartOf="@+id/submission_status_card_unregistered_icon"
app:layout_constraintStart_toStartOf="@+id/submission_status_card_content_title"
app:layout_constraintTop_toBottomOf="@+id/submission_status_card_content_title" />

<TextView
android:id="@+id/submission_status_card_content_body"
android:layout_width="@dimen/submission_status_card_text_width"
android:layout_height="@dimen/match_constraint"
android:layout_marginTop="@dimen/spacing_normal"
style="@style/textMultiline"
android:layout_width="@dimen/match_constraint"
android:layout_marginBottom="@dimen/spacing_normal"
android:layout_height="wrap_content"
android:text="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentBodyText(testResult)}"
app:layout_constraintBottom_toTopOf="@+id/submission_status_card_content_button"
app:layout_constraintEnd_toStartOf="@+id/submission_status_card_unregistered_icon"
app:layout_constraintStart_toStartOf="@+id/submission_status_card_content_title" />

<Button
android:id="@+id/submission_status_card_content_button"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/spacing_normal"
android:layout_marginVertical="@dimen/spacing_normal"
android:backgroundTint="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentButtonColor(testResult)}"
style="@style/buttonPrimary"
android:layout_marginTop="@dimen/spacing_normal"
android:text="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentButtonText(testResult)}"
android:textColor="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentButtonTextColor(testResult)}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submission_status_card_unregistered_icon" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@
<TextView
android:id="@+id/submission_status_card_fetching_title"
style="@style/textTitle"
android:layout_width="@dimen/submission_status_card_text_width"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:layout_marginStart="@dimen/spacing_normal"
android:text="@string/submission_status_card_title_fetching"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

Expand All @@ -31,23 +30,23 @@

<TextView
android:id="@+id/submission_status_card_fetching_body"
android:layout_width="@dimen/submission_status_card_fetching_body_width"
style="@style/textMultiline"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_normal"
android:layout_width="@dimen/match_constraint"
android:text="@string/submission_status_card_body_fetching"
app:layout_constraintStart_toEndOf="@+id/submission_status_card_fetching_spinner"
app:layout_constraintBottom_toBottomOf="@+id/submission_status_card_fetching_spinner"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/submission_status_card_fetching_spinner"
app:layout_constraintTop_toTopOf="@+id/submission_status_card_fetching_spinner" />

<Button
android:id="@+id/submission_status_card_fetching_button"
style="@style/buttonLight"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/spacing_normal"
android:layout_marginVertical="@dimen/spacing_normal"
android:layout_marginTop="@dimen/spacing_normal"
android:layout_width="@dimen/match_constraint"
android:text="@string/submission_status_card_button_show_details"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submission_status_card_fetching_spinner" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<data>

<import type="de.rki.coronawarnapp.util.formatter.TestResult" />

<import type="de.rki.coronawarnapp.risk.RiskLevelConstants" />

<variable
name="registerDate"
type="java.util.Date" />
</data>

<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/submission_status_card_positive"
style="@style/card"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/submission_status_card_positive_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<TextView
android:id="@+id/submission_status_card_positive_title"
style="@style/textTitle"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:text="@string/submission_status_card_positive_result_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<include
android:id="@+id/submission_status_card_positive_result_card"
layout="@layout/include_test_result_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_title"
app:registerDate="@{registerDate}"
app:testResult="@{TestResult.POSITIVE}" />

<TextView
android:id="@+id/submission_status_card_positive_result_subtitle"
style="@style/textSubTitle"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:text="@string/submission_status_card_positive_result_subtitle"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_card" />

<include
android:id="@+id/submission_status_card_positive_result_contagious"
layout="@layout/include_risk_details_behavior_row"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
app:body="@{@string/submission_status_card_positive_result_contagious}"
app:icon="@{@drawable/ic_risk_card_contact_increased}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_subtitle"
app:riskLevel="@{RiskLevelConstants.INCREASED_RISK}" />

<include
android:id="@+id/submission_status_card_positive_result_isolate"
layout="@layout/include_risk_details_behavior_row"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
app:body="@{@string/submission_status_card_positive_result_isolate}"
app:icon="@{@drawable/ic_risk_details_home}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_contagious"
app:riskLevel="@{RiskLevelConstants.INCREASED_RISK}" />

<include
android:id="@+id/submission_status_card_positive_result_share"
layout="@layout/include_risk_details_behavior_row"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
app:body="@{@string/submission_status_card_positive_result_share}"
app:icon="@{@drawable/ic_risk_details_share}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_isolate"
app:riskLevel="@{RiskLevelConstants.INCREASED_RISK}" />

<Button
android:id="@+id/submission_status_card_positive_result_show_button"
style="@style/buttonPrimary"
android:layout_width="@dimen/match_constraint"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:text="@string/submission_status_card_positive_result_show_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_share" />


</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
Loading

0 comments on commit 1722aff

Please sign in to comment.