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);
- }
- }
-}