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