From ffac455c21ee165c4b81bb4dae2121b10cbef100 Mon Sep 17 00:00:00 2001 From: Kolya Opahle <k.opahle@sap.com> Date: Thu, 11 Jun 2020 12:04:37 +0200 Subject: [PATCH] QR Code scan ui changes (EXPOSUREAPP-1402) (#375) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * QR Code scan buttons style changes Signed-off-by: Kolya Opahle <k.opahle@sap.com> * Fixed a stall that was caused by camera permission request spam Co-authored-by: Jakob Möller <jakob.moeller@sap.com> --- .../SubmissionQRCodeScanFragment.kt | 18 ++++++------ ...ic_registration_qr_code_scan_torch_off.xml | 18 +++++++----- .../ic_registration_qr_code_scan_torch_on.xml | 18 +++++++----- .../ic_submission_qr_code_scan_close.xml | 19 ------------- .../fragment_submission_qr_code_scan.xml | 28 +++++++++++++------ 5 files changed, 52 insertions(+), 49 deletions(-) delete mode 100644 Corona-Warn-App/src/main/res/drawable/ic_submission_qr_code_scan_close.xml diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionQRCodeScanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionQRCodeScanFragment.kt index 3b2323a43..3a92abbf6 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionQRCodeScanFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionQRCodeScanFragment.kt @@ -111,13 +111,21 @@ class SubmissionQRCodeScanFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + if (!CameraPermissionHelper.hasCameraPermission(requireActivity())) { + if (shouldShowRequestPermissionRationale(Manifest.permission.CAMERA)) { + showCameraPermissionRationaleDialog() + } else { + requestCameraPermission() + } + } + binding.submissionQrCodeScanTorch.setOnCheckedChangeListener { _, isChecked -> binding.submissionQrCodeScanPreview.setTorch( isChecked ) } - binding.submissionQrCodeScanClose.buttonIcon.setOnClickListener { + binding.submissionQrCodeScanClose.setOnClickListener { navigateToDispatchScreen() } @@ -178,13 +186,7 @@ class SubmissionQRCodeScanFragment : Fragment() { override fun onResume() { super.onResume() - if (!CameraPermissionHelper.hasCameraPermission(requireActivity())) { - if (shouldShowRequestPermissionRationale(Manifest.permission.CAMERA)) { - showCameraPermissionRationaleDialog() - } else { - requestCameraPermission() - } - } else { + if (CameraPermissionHelper.hasCameraPermission(requireActivity())) { binding.submissionQrCodeScanPreview.resume() startDecode() } diff --git a/Corona-Warn-App/src/main/res/drawable/ic_registration_qr_code_scan_torch_off.xml b/Corona-Warn-App/src/main/res/drawable/ic_registration_qr_code_scan_torch_off.xml index e39168a54..61d5bfa39 100644 --- a/Corona-Warn-App/src/main/res/drawable/ic_registration_qr_code_scan_torch_off.xml +++ b/Corona-Warn-App/src/main/res/drawable/ic_registration_qr_code_scan_torch_off.xml @@ -1,9 +1,13 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24.0" - android:viewportHeight="24.0"> - <path - android:fillColor="#FF000000" - android:pathData="M3.27,3L2,4.27l5,5V13h3v9l3.58,-6.14L17.73,20 19,18.73 3.27,3zM17,10h-4l4,-8H7v2.18l8.46,8.46L17,10z" /> + android:width="40dp" + android:height="40dp" + android:viewportWidth="40.0" + android:viewportHeight="40.0"> + <group + android:translateX="10" + android:translateY="10"> + <path + android:fillColor="#FF000000" + android:pathData="M3.27,3L2,4.27l5,5V13h3v9l3.58,-6.14L17.73,20 19,18.73 3.27,3zM17,10h-4l4,-8H7v2.18l8.46,8.46L17,10z" /> + </group> </vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_registration_qr_code_scan_torch_on.xml b/Corona-Warn-App/src/main/res/drawable/ic_registration_qr_code_scan_torch_on.xml index 4efdc7f72..520cd21e2 100644 --- a/Corona-Warn-App/src/main/res/drawable/ic_registration_qr_code_scan_torch_on.xml +++ b/Corona-Warn-App/src/main/res/drawable/ic_registration_qr_code_scan_torch_on.xml @@ -1,9 +1,13 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24.0" - android:viewportHeight="24.0"> - <path - android:fillColor="#FF000000" - android:pathData="M7,2v11h3v9l7,-12h-4l4,-8z" /> + android:width="40dp" + android:height="40dp" + android:viewportWidth="40.0" + android:viewportHeight="40.0"> + <group + android:translateX="10" + android:translateY="10"> + <path + android:fillColor="#FF000000" + android:pathData="M7,2v11h3v9l7,-12h-4l4,-8z" /> + </group> </vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_submission_qr_code_scan_close.xml b/Corona-Warn-App/src/main/res/drawable/ic_submission_qr_code_scan_close.xml deleted file mode 100644 index ac734089e..000000000 --- a/Corona-Warn-App/src/main/res/drawable/ic_submission_qr_code_scan_close.xml +++ /dev/null @@ -1,19 +0,0 @@ -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="40dp" - android:height="40dp" - android:viewportWidth="40" - android:viewportHeight="40"> - - <group - android:pivotX="20" - android:pivotY="20" - android:scaleX="2" - android:scaleY="2"> - <path - android:fillColor="#FFFFFF" - android:fillType="nonZero" - android:pathData="M14.2843,13l-1.2843,1.2843l5.7157,5.7157l-5.7157,5.7157l1.2843,1.2843l5.7157,-5.7157l5.7157,5.7157l1.2843,-1.2843l-5.7157,-5.7157l5.7157,-5.7157l-1.2843,-1.2843l-5.7157,5.7157z" - android:strokeWidth="1" - android:strokeColor="#00FFFFFF" /> - </group> -</vector> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml index ffca652df..56ff87107 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml @@ -51,24 +51,36 @@ app:layout_constraintStart_toStartOf="@+id/submission_qr_code_scan_body" app:layout_constraintTop_toBottomOf="@+id/submission_qr_code_scan_body" /> - <include + + <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/submission_qr_code_scan_close" - layout="@layout/include_button_icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:icon="@{@drawable/ic_submission_qr_code_scan_close}" - app:iconDescription="@{@string/accessibility_close}" + style="@style/buttonIcon" + android:layout_width="@dimen/icon_size_button" + android:layout_height="@dimen/icon_size_button" app:layout_constraintBottom_toTopOf="@+id/submission_qr_code_scan_guideline_top" app:layout_constraintEnd_toStartOf="@+id/guideline_start" app:layout_constraintStart_toStartOf="@+id/guideline_start" - app:layout_constraintTop_toTopOf="@+id/submission_qr_code_scan_guideline_top" /> + app:layout_constraintTop_toTopOf="@+id/submission_qr_code_scan_guideline_top"> + + <ImageView + style="@style/iconStable" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/accessibility_close" + android:src="@drawable/ic_close" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + </androidx.constraintlayout.widget.ConstraintLayout> <ToggleButton android:id="@+id/submission_qr_code_scan_torch" android:layout_width="@dimen/icon_size_button" android:layout_height="@dimen/icon_size_button" android:background="@drawable/ic_registration_qr_code_scan_torch_toggle" - android:backgroundTint="@color/colorTextPrimary1" + android:backgroundTint="@color/colorStableLight" android:textOff="" android:textOn="" app:layout_constraintBottom_toTopOf="@+id/submission_qr_code_scan_guideline_top" -- GitLab