Refine Wi-Fi DPP fragments.
1. WifiDppQrCodeBaseFragment only declairs common UI components between fragments. 2. Initiate UI components in onViewCreated of each View. 3. Remove the only one usage of @NonNull since it should be used consistently throughout the class if we want to use it. 4. Use android.R.id for icon/title/summary Bug: 120645817 Test: atest WifiDppConfiguratorActivityTest atest WifiDppEnrolleeActivityTest atest WifiDppQrCodeGeneratorFragmentTest atest WifiDppQrCodeScannerFragmentTest Change-Id: I54f99a3072533cec46f0e47753ee0331fecf2ada
This commit is contained in:
@@ -27,13 +27,13 @@
|
|||||||
android:paddingEnd="16dp">
|
android:paddingEnd="16dp">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/header_icon"
|
android:id="@android:id/icon"
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
android:scaleType="fitCenter"/>
|
android:scaleType="fitCenter"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/title"
|
android:id="@android:id/title"
|
||||||
style="@style/TextAppearance.EntityHeaderTitle"
|
style="@style/TextAppearance.EntityHeaderTitle"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
android:paddingEnd="32dp"/>
|
android:paddingEnd="32dp"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/description"
|
android:id="@android:id/summary"
|
||||||
style="@style/TextAppearance.EntityHeaderSummary"
|
style="@style/TextAppearance.EntityHeaderSummary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@@ -45,6 +45,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
|
android:text="@string/wifi_dpp_could_not_detect_valid_qr_code"
|
||||||
|
android:visibility="invisible"
|
||||||
android:textColor="?android:attr/colorError"/>
|
android:textColor="?android:attr/colorError"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@@ -17,6 +17,13 @@
|
|||||||
package com.android.settings.wifi.dpp;
|
package com.android.settings.wifi.dpp;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.ProgressBar;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -26,10 +33,11 @@ import com.android.settings.R;
|
|||||||
* to the Wi-Fi network.
|
* to the Wi-Fi network.
|
||||||
*/
|
*/
|
||||||
public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
|
public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
|
||||||
@Override
|
private ProgressBar mProgressBar;
|
||||||
protected int getLayout() {
|
private ImageView mWifiApPictureView;
|
||||||
return R.layout.wifi_dpp_add_device_fragment;
|
private TextView mChooseDifferentNetwork;
|
||||||
}
|
private Button mButtonLeft;
|
||||||
|
private Button mButtonRight;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
@@ -37,7 +45,20 @@ public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityCreated (Bundle savedInstanceState) {
|
public final View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
super.onActivityCreated(savedInstanceState);
|
Bundle savedInstanceState) {
|
||||||
|
return inflater.inflate(R.layout.wifi_dpp_add_device_fragment, container,
|
||||||
|
/* attachToRoot */ false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -17,6 +17,11 @@
|
|||||||
package com.android.settings.wifi.dpp;
|
package com.android.settings.wifi.dpp;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.ListView;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -26,10 +31,9 @@ import com.android.settings.R;
|
|||||||
* {@code WifiDppConfiguratorActivity} to start with this fragment to choose a saved Wi-Fi network.
|
* {@code WifiDppConfiguratorActivity} to start with this fragment to choose a saved Wi-Fi network.
|
||||||
*/
|
*/
|
||||||
public class WifiDppChooseSavedWifiNetworkFragment extends WifiDppQrCodeBaseFragment {
|
public class WifiDppChooseSavedWifiNetworkFragment extends WifiDppQrCodeBaseFragment {
|
||||||
@Override
|
private ListView mSavedWifiNetworkList;
|
||||||
protected int getLayout() {
|
private Button mButtonLeft;
|
||||||
return R.layout.wifi_dpp_choose_saved_wifi_network_fragment;
|
private Button mButtonRight;
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
@@ -37,7 +41,18 @@ public class WifiDppChooseSavedWifiNetworkFragment extends WifiDppQrCodeBaseFrag
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityCreated (Bundle savedInstanceState) {
|
public final View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
super.onActivityCreated(savedInstanceState);
|
Bundle savedInstanceState) {
|
||||||
|
return inflater.inflate(R.layout.wifi_dpp_choose_saved_wifi_network_fragment, container,
|
||||||
|
/* attachToRoot */ false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
|
mSavedWifiNetworkList = view.findViewById(R.id.saved_wifi_network_list);
|
||||||
|
mButtonLeft = view.findViewById(R.id.button_left);
|
||||||
|
mButtonRight = view.findViewById(R.id.button_right);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -17,25 +17,16 @@
|
|||||||
package com.android.settings.wifi.dpp;
|
package com.android.settings.wifi.dpp;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.ListView;
|
|
||||||
import android.widget.ProgressBar;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settings.core.InstrumentedFragment;
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: b/120645817 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,
|
* 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.
|
* this parent fragment instantiates common UI components
|
||||||
*
|
*
|
||||||
* {@code WifiDppQrCodeScannerFragment}
|
* {@code WifiDppQrCodeScannerFragment}
|
||||||
* {@code WifiDppQrCodeGeneratorFragment}
|
* {@code WifiDppQrCodeGeneratorFragment}
|
||||||
@@ -43,135 +34,16 @@ import com.android.settings.R;
|
|||||||
* {@code WifiDppAddDeviceFragment}
|
* {@code WifiDppAddDeviceFragment}
|
||||||
*/
|
*/
|
||||||
public abstract class WifiDppQrCodeBaseFragment extends InstrumentedFragment {
|
public abstract class WifiDppQrCodeBaseFragment extends InstrumentedFragment {
|
||||||
private ImageView mHeaderIcon;
|
protected ImageView mHeaderIcon;
|
||||||
private TextView mTitle;
|
protected TextView mTitle;
|
||||||
private TextView mDescription;
|
protected TextView mSummary;
|
||||||
|
|
||||||
private TextView mErrorMessage; //optional, for WifiDppQrCodeScannerFragment
|
|
||||||
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
|
@Override
|
||||||
public final void onCreate(Bundle savedInstanceState) {
|
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
mHeaderIcon = view.findViewById(android.R.id.icon);
|
||||||
public final View onCreateView(LayoutInflater inflater, ViewGroup container,
|
mTitle = view.findViewById(android.R.id.title);
|
||||||
Bundle savedInstanceState) {
|
mSummary = view.findViewById(android.R.id.summary);
|
||||||
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);
|
|
||||||
mErrorMessage = view.findViewById(R.id.error_message);
|
|
||||||
|
|
||||||
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 showErrorMessage(boolean show) {
|
|
||||||
if (mErrorMessage != null) {
|
|
||||||
mErrorMessage.setVisibility(show ? View.VISIBLE : View.INVISIBLE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,10 +21,12 @@ import android.content.Context;
|
|||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
@@ -43,11 +45,6 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment {
|
|||||||
private ImageView mQrCodeView;
|
private ImageView mQrCodeView;
|
||||||
private String mQrCode;
|
private String mQrCode;
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int getLayout() {
|
|
||||||
return R.layout.wifi_dpp_qrcode_generator_fragment;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
return MetricsProto.MetricsEvent.SETTINGS_WIFI_DPP_CONFIGURATOR;
|
return MetricsProto.MetricsEvent.SETTINGS_WIFI_DPP_CONFIGURATOR;
|
||||||
@@ -63,25 +60,12 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment {
|
|||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
|
||||||
setHeaderIconImageResource(R.drawable.ic_qrcode_24dp);
|
|
||||||
WifiNetworkConfig wifiNetworkConfig = ((WifiNetworkConfig.Retriever) getActivity())
|
|
||||||
.getWifiNetworkConfig();
|
|
||||||
if (!WifiNetworkConfig.isValidConfig(wifiNetworkConfig)) {
|
|
||||||
throw new IllegalArgumentException("Invalid Wi-Fi network for configuring");
|
|
||||||
}
|
|
||||||
setTitle(getString(R.string.wifi_dpp_share_wifi));
|
|
||||||
setDescription(getString(R.string.wifi_dpp_scan_qr_code_with_another_device,
|
|
||||||
wifiNetworkConfig.getSsid()));
|
|
||||||
|
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
ActionBar actionBar = getActivity().getActionBar();
|
final ActionBar actionBar = getActivity().getActionBar();
|
||||||
if (actionBar != null) {
|
if (actionBar != null) {
|
||||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||||
actionBar.show();
|
actionBar.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
mQrCode = wifiNetworkConfig.getQrCode();
|
|
||||||
setQrCode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -118,10 +102,31 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
|
Bundle savedInstanceState) {
|
||||||
|
return inflater.inflate(R.layout.wifi_dpp_qrcode_generator_fragment, container,
|
||||||
|
/* attachToRoot */ false);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
mQrCodeView = view.findViewById(R.id.qrcode_view);
|
mQrCodeView = view.findViewById(R.id.qrcode_view);
|
||||||
|
|
||||||
|
mHeaderIcon.setImageResource(R.drawable.ic_qrcode_24dp);
|
||||||
|
WifiNetworkConfig wifiNetworkConfig = ((WifiNetworkConfig.Retriever) getActivity())
|
||||||
|
.getWifiNetworkConfig();
|
||||||
|
if (!WifiNetworkConfig.isValidConfig(wifiNetworkConfig)) {
|
||||||
|
throw new IllegalStateException("Invalid Wi-Fi network for configuring");
|
||||||
|
}
|
||||||
|
mTitle.setText(R.string.wifi_dpp_share_wifi);
|
||||||
|
mSummary.setText(getString(R.string.wifi_dpp_scan_qr_code_with_another_device,
|
||||||
|
wifiNetworkConfig.getSsid()));
|
||||||
|
|
||||||
|
mQrCode = wifiNetworkConfig.getQrCode();
|
||||||
|
setQrCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setQrCode() {
|
private void setQrCode() {
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings.wifi.dpp;
|
package com.android.settings.wifi.dpp;
|
||||||
|
|
||||||
import android.annotation.Nullable;
|
|
||||||
import android.app.ActionBar;
|
import android.app.ActionBar;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -29,11 +28,14 @@ import android.os.Handler;
|
|||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Size;
|
import android.util.Size;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.TextureView;
|
import android.view.TextureView;
|
||||||
import android.view.TextureView.SurfaceTextureListener;
|
import android.view.TextureView.SurfaceTextureListener;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -67,6 +69,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
|||||||
private QrCamera mCamera;
|
private QrCamera mCamera;
|
||||||
private TextureView mTextureView;
|
private TextureView mTextureView;
|
||||||
private QrDecorateView mDecorateView;
|
private QrDecorateView mDecorateView;
|
||||||
|
private TextView mErrorMessage;
|
||||||
|
|
||||||
/** true if the fragment working for configurator, false enrollee*/
|
/** true if the fragment working for configurator, false enrollee*/
|
||||||
private final boolean mIsConfiguratorMode;
|
private final boolean mIsConfiguratorMode;
|
||||||
@@ -77,11 +80,6 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
|||||||
/** QR code data scanned by camera */
|
/** QR code data scanned by camera */
|
||||||
private WifiQrCode mWifiQrCode;
|
private WifiQrCode mWifiQrCode;
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int getLayout() {
|
|
||||||
return R.layout.wifi_dpp_qrcode_scanner_fragment;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
if (mIsConfiguratorMode) {
|
if (mIsConfiguratorMode) {
|
||||||
@@ -127,37 +125,11 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
|||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
|
||||||
setHeaderIconImageResource(R.drawable.ic_scan_24dp);
|
|
||||||
|
|
||||||
if (mIsConfiguratorMode) {
|
|
||||||
setTitle(getString(R.string.wifi_dpp_add_device_to_network));
|
|
||||||
|
|
||||||
WifiNetworkConfig wifiNetworkConfig = ((WifiNetworkConfig.Retriever) getActivity())
|
|
||||||
.getWifiNetworkConfig();
|
|
||||||
if (!WifiNetworkConfig.isValidConfig(wifiNetworkConfig)) {
|
|
||||||
throw new IllegalArgumentException("Invalid Wi-Fi network for configuring");
|
|
||||||
}
|
|
||||||
setDescription(getString(R.string.wifi_dpp_center_qr_code, wifiNetworkConfig.getSsid()));
|
|
||||||
} else {
|
|
||||||
setTitle(getString(R.string.wifi_dpp_scan_qr_code));
|
|
||||||
|
|
||||||
String description;
|
|
||||||
if (TextUtils.isEmpty(mSsid)) {
|
|
||||||
description = getString(R.string.wifi_dpp_scan_qr_code_join_unknown_network, mSsid);
|
|
||||||
} else {
|
|
||||||
description = getString(R.string.wifi_dpp_scan_qr_code_join_network, mSsid);
|
|
||||||
}
|
|
||||||
setDescription(description);
|
|
||||||
}
|
|
||||||
|
|
||||||
final ActionBar actionBar = getActivity().getActionBar();
|
final ActionBar actionBar = getActivity().getActionBar();
|
||||||
if (actionBar != null) {
|
if (actionBar != null) {
|
||||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||||
actionBar.show();
|
actionBar.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
setErrorMessage(getString(R.string.wifi_dpp_could_not_detect_valid_qr_code));
|
|
||||||
showErrorMessage(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -177,13 +149,45 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
public final View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
|
Bundle savedInstanceState) {
|
||||||
|
return inflater.inflate(R.layout.wifi_dpp_qrcode_scanner_fragment, container,
|
||||||
|
/* attachToRoot */ false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
mTextureView = (TextureView) view.findViewById(R.id.preview_view);
|
mTextureView = (TextureView) view.findViewById(R.id.preview_view);
|
||||||
mTextureView.setSurfaceTextureListener(this);
|
mTextureView.setSurfaceTextureListener(this);
|
||||||
|
|
||||||
mDecorateView = (QrDecorateView) view.findViewById(R.id.decorate_view);
|
mDecorateView = (QrDecorateView) view.findViewById(R.id.decorate_view);
|
||||||
|
|
||||||
|
mHeaderIcon.setImageResource(R.drawable.ic_scan_24dp);
|
||||||
|
if (mIsConfiguratorMode) {
|
||||||
|
mTitle.setText(R.string.wifi_dpp_add_device_to_network);
|
||||||
|
|
||||||
|
WifiNetworkConfig wifiNetworkConfig = ((WifiNetworkConfig.Retriever) getActivity())
|
||||||
|
.getWifiNetworkConfig();
|
||||||
|
if (!WifiNetworkConfig.isValidConfig(wifiNetworkConfig)) {
|
||||||
|
throw new IllegalStateException("Invalid Wi-Fi network for configuring");
|
||||||
|
}
|
||||||
|
mSummary.setText(getString(R.string.wifi_dpp_center_qr_code,
|
||||||
|
wifiNetworkConfig.getSsid()));
|
||||||
|
} else {
|
||||||
|
mTitle.setText(R.string.wifi_dpp_scan_qr_code);
|
||||||
|
|
||||||
|
String description;
|
||||||
|
if (TextUtils.isEmpty(mSsid)) {
|
||||||
|
description = getString(R.string.wifi_dpp_scan_qr_code_join_unknown_network, mSsid);
|
||||||
|
} else {
|
||||||
|
description = getString(R.string.wifi_dpp_scan_qr_code_join_network, mSsid);
|
||||||
|
}
|
||||||
|
mSummary.setText(description);
|
||||||
|
}
|
||||||
|
|
||||||
|
mErrorMessage = view.findViewById(R.id.error_message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -321,9 +325,8 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void showErrorMessage(boolean show) {
|
public void showErrorMessage(boolean show) {
|
||||||
super.showErrorMessage(show);
|
mErrorMessage.setVisibility(show ? View.VISIBLE : View.INVISIBLE);
|
||||||
|
|
||||||
if (show) {
|
if (show) {
|
||||||
mHandler.removeMessages(MESSAGE_HIDE_ERROR_MESSAGE);
|
mHandler.removeMessages(MESSAGE_HIDE_ERROR_MESSAGE);
|
||||||
|
Reference in New Issue
Block a user