Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f2298c4 authored by Arc Wang's avatar Arc Wang Committed by Android (Google) Code Review
Browse files

Merge "Fix Wi-Fi Easy Connect QR code scanner problems"

parents 84c5751c 8ae97172
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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"
+9 −6
Original line number Diff line number Diff line
@@ -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"
+1 −0
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl

                    if (msg.arg1 == ARG_RESTART_CAMERA) {
                        mProgressBar.setVisibility(View.INVISIBLE);
                        mDecorateView.setFocused(false);
                        restartCamera();
                    }
                    break;
+0 −49
Original line number Diff line number Diff line
/*
 * 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);
        }
    }
}