WifiDppQrCodeGeneratorFragment
1. Remove footer in landscape QR code scanner fragment
2. Move header icon from activity layout file to header layout file
3. Fine tune header layout file
4. set icons for the 2 fragments
Bug: 118797380
Bug: 118794858
Test: atest WifiDppConfiguratorActivityTest
atest WifiDppQrCodeScannerFragmentTest
atest WifiDppQrCodeGeneratorFragmentTest
atest RunSettingsRoboTests
Change-Id: I7e547d7c29dd947a890e902e61b8244fec399354
192 lines
6.4 KiB
Java
192 lines
6.4 KiB
Java
/*
|
|
* 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.dpp;
|
|
|
|
import android.os.Bundle;
|
|
import android.view.LayoutInflater;
|
|
import android.view.SurfaceView;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.Button;
|
|
import android.widget.ImageView;
|
|
import android.widget.ListView;
|
|
import android.widget.ProgressBar;
|
|
import android.widget.TextView;
|
|
|
|
import com.android.internal.logging.nano.MetricsProto;
|
|
|
|
import com.android.settings.core.InstrumentedFragment;
|
|
import com.android.settings.wifi.qrcode.QrDecorateView;
|
|
import com.android.settings.R;
|
|
|
|
/**
|
|
* TODO: Should refine code to only initiate UI component in each child fragment.
|
|
*/
|
|
|
|
/**
|
|
* There are below 4 fragments for Wi-Fi DPP UI flow, to reduce redundant code of UI components,
|
|
* this parent fragment instantiates all UI components and provides setting APIs for them.
|
|
*
|
|
* {@code WifiDppQrCodeScannerFragment}
|
|
* {@code WifiDppQrCodeGeneratorFragment}
|
|
* {@code WifiDppChooseSavedWifiNetworkFragment}
|
|
* {@code WifiDppAddDeviceFragment}
|
|
*/
|
|
public abstract class WifiDppQrCodeBaseFragment extends InstrumentedFragment {
|
|
private ImageView mHeaderIcon;
|
|
private TextView mTitle;
|
|
private TextView mDescription;
|
|
|
|
private SurfaceView mPreviewView; //optional, for WifiDppQrCodeScannerFragment
|
|
private QrDecorateView mDecorateViiew; //optional, for WifiDppQrCodeScannerFragment
|
|
private TextView mErrorMessage; //optional, for WifiDppQrCodeScannerFragment
|
|
|
|
private ImageView mBarcodeView; //optional, for WifiDppQrCodeGeneratorFragment
|
|
|
|
private ListView mSavedWifiNetworkList; //optional, for WifiDppChooseSavedWifiNetworkFragment
|
|
|
|
private ProgressBar mProgressBar; //optional, for WifiDppAddDeviceFragment
|
|
private ImageView mWifiApPictureView; //optional, for WifiDppAddDeviceFragment
|
|
private TextView mChooseDifferentNetwork;//optional, for WifiDppAddDeviceFragment
|
|
|
|
private Button mButtonLeft; //optional, for WifiDppChooseSavedWifiNetworkFragment,
|
|
// WifiDppAddDeviceFragment
|
|
private Button mButtonRight; //optional, for WifiDppChooseSavedWifiNetworkFragment,
|
|
// WifiDppAddDeviceFragment
|
|
|
|
abstract protected int getLayout();
|
|
|
|
@Override
|
|
public int getMetricsCategory() {
|
|
//TODO:Should we use a new metrics category for Wi-Fi DPP?
|
|
return MetricsProto.MetricsEvent.WIFI_NETWORK_DETAILS;
|
|
}
|
|
|
|
@Override
|
|
public final void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
}
|
|
|
|
@Override
|
|
public final View onCreateView(LayoutInflater inflater, ViewGroup container,
|
|
Bundle savedInstanceState) {
|
|
View view = inflater.inflate(getLayout(), container, false);
|
|
initView(view);
|
|
return view;
|
|
}
|
|
|
|
private void initView(View view) {
|
|
mHeaderIcon = view.findViewById(R.id.header_icon);
|
|
mTitle = view.findViewById(R.id.title);
|
|
mDescription = view.findViewById(R.id.description);
|
|
|
|
mPreviewView = view.findViewById(R.id.preview_view);
|
|
mDecorateViiew = view.findViewById(R.id.decorate_view);
|
|
mErrorMessage = view.findViewById(R.id.error_message);
|
|
|
|
mBarcodeView = view.findViewById(R.id.barcode_view);
|
|
|
|
mSavedWifiNetworkList = view.findViewById(R.id.saved_wifi_network_list);
|
|
|
|
mProgressBar = view.findViewById(R.id.progress_bar);
|
|
mWifiApPictureView = view.findViewById(R.id.wifi_ap_picture_view);
|
|
mChooseDifferentNetwork = view.findViewById(R.id.choose_different_network);
|
|
|
|
mButtonLeft = view.findViewById(R.id.button_left);
|
|
mButtonRight = view.findViewById(R.id.button_right);
|
|
}
|
|
|
|
protected void setHeaderIconImageResource(int resId) {
|
|
mHeaderIcon.setImageResource(resId);
|
|
}
|
|
|
|
protected void setTitle(String title) {
|
|
mTitle.setText(title);
|
|
}
|
|
|
|
protected void setDescription(String description) {
|
|
mDescription.setText(description);
|
|
}
|
|
|
|
/** optional, for WifiDppQrCodeScannerFragment */
|
|
protected void setErrorMessage(String errorMessage) {
|
|
if (mErrorMessage != null) {
|
|
mErrorMessage.setText(errorMessage);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* optional, for WifiDppChooseSavedWifiNetworkFragment,
|
|
* WifiDppAddDeviceFragment
|
|
*/
|
|
protected void setLeftButtonText(String text) {
|
|
if (mButtonLeft != null) {
|
|
mButtonLeft.setText(text);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* optional, for WifiDppChooseSavedWifiNetworkFragment,
|
|
* WifiDppAddDeviceFragment
|
|
*/
|
|
protected void setRightButtonText(String text) {
|
|
if (mButtonRight != null) {
|
|
mButtonRight.setText(text);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* optional, for WifiDppChooseSavedWifiNetworkFragment,
|
|
* WifiDppAddDeviceFragment
|
|
*/
|
|
protected void hideLeftButton() {
|
|
if (mButtonLeft != null) {
|
|
mButtonLeft.setVisibility(View.INVISIBLE);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* optional, for WifiDppChooseSavedWifiNetworkFragment,
|
|
* WifiDppAddDeviceFragment
|
|
*/
|
|
protected void hideRightButton() {
|
|
if (mButtonRight != null) {
|
|
mButtonRight.setVisibility(View.INVISIBLE);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* optional, for WifiDppChooseSavedWifiNetworkFragment,
|
|
* WifiDppAddDeviceFragment
|
|
*/
|
|
protected void setLeftButtonOnClickListener(View.OnClickListener listener) {
|
|
if (mButtonLeft != null) {
|
|
mButtonLeft.setOnClickListener(listener);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* optional, for WifiDppChooseSavedWifiNetworkFragment,
|
|
* WifiDppAddDeviceFragment
|
|
*/
|
|
protected void setRightButtonOnClickListener(View.OnClickListener listener) {
|
|
if (mButtonRight != null) {
|
|
mButtonRight.setOnClickListener(listener);
|
|
}
|
|
}
|
|
}
|