Merge "Fix Wi-Fi Easy Connect QR code scanner problems"
diff --git a/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml b/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml
index c408a97..887d0fb 100644
--- a/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml
+++ b/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml
@@ -43,7 +43,7 @@
                 android:layout_marginBottom="8dp"
                 style="?android:attr/progressBarStyleHorizontal"/>
 
-            <com.android.settings.wifi.qrcode.QrPreviewLayout
+            <FrameLayout
                 android:layout_width="@dimen/qrcode_preview_size"
                 android:layout_height="@dimen/qrcode_preview_size">
                 <TextureView
@@ -54,7 +54,7 @@
                     android:id="@+id/decorate_view"
                     android:layout_width="wrap_content"
                     android:layout_height="match_parent"/>
-            </com.android.settings.wifi.qrcode.QrPreviewLayout>
+            </FrameLayout>
 
             <TextView
                 android:id="@+id/error_message"
diff --git a/res/layout/wifi_dpp_qrcode_scanner_fragment.xml b/res/layout/wifi_dpp_qrcode_scanner_fragment.xml
index 9bd742a..68ba277 100644
--- a/res/layout/wifi_dpp_qrcode_scanner_fragment.xml
+++ b/res/layout/wifi_dpp_qrcode_scanner_fragment.xml
@@ -43,18 +43,21 @@
                 android:layout_marginBottom="8dp"
                 style="?android:attr/progressBarStyleHorizontal"/>
 
-            <com.android.settings.wifi.qrcode.QrPreviewLayout
-                android:layout_width="match_parent"
-                android:layout_height="match_parent">
+            <androidx.constraintlayout.widget.ConstraintLayout
+                xmlns:app="http://schemas.android.com/apk/res-auto"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content">
                 <TextureView
                     android:id="@+id/preview_view"
                     android:layout_width="match_parent"
-                    android:layout_height="wrap_content"/>
+                    android:layout_height="0dp"
+                    app:layout_constraintDimensionRatio="1:1"/>
                 <com.android.settings.wifi.qrcode.QrDecorateView
                     android:id="@+id/decorate_view"
                     android:layout_width="match_parent"
-                    android:layout_height="wrap_content"/>
-            </com.android.settings.wifi.qrcode.QrPreviewLayout>
+                    android:layout_height="0dp"
+                    app:layout_constraintDimensionRatio="1:1"/>
+            </androidx.constraintlayout.widget.ConstraintLayout>
 
             <TextView
                 android:id="@+id/error_message"
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
index 905d3a0..0fb56fa 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
@@ -134,6 +134,7 @@
 
                     if (msg.arg1 == ARG_RESTART_CAMERA) {
                         mProgressBar.setVisibility(View.INVISIBLE);
+                        mDecorateView.setFocused(false);
                         restartCamera();
                     }
                     break;
diff --git a/src/com/android/settings/wifi/qrcode/QrPreviewLayout.java b/src/com/android/settings/wifi/qrcode/QrPreviewLayout.java
deleted file mode 100644
index ad17146..0000000
--- a/src/com/android/settings/wifi/qrcode/QrPreviewLayout.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.wifi.qrcode;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.widget.FrameLayout;
-
-/**
- * A customize square {@link FrameLayout}.
- * This is used for camera preview. Choose the smaller size of both dimensions as length and width.
- */
-public class QrPreviewLayout extends FrameLayout {
-    public QrPreviewLayout(Context context) {
-        super(context);
-    }
-
-    public QrPreviewLayout(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public QrPreviewLayout(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        // Choose the smaller size of the two dimensions.
-        if (MeasureSpec.getSize(widthMeasureSpec) > MeasureSpec.getSize(heightMeasureSpec)) {
-            super.onMeasure(heightMeasureSpec, heightMeasureSpec);
-        } else {
-            super.onMeasure(widthMeasureSpec, widthMeasureSpec);
-        }
-    }
-}