Filter out unsupported security type for DPP configuration.
There is different Wi-Fi security support between ZXing's Wi-Fi QR code format and Wi-Fi DPP QR code format. ZXing's Wi-Fi QR code format: supports WEP / WPA / none security Wi-Fi DPP: supports WPA / SAE So we will have different UI behavior for different security. WEP & none security: only support QR code generator WPA: supports both QR code generator & scanner SAE: only supports QR code scanner others: don't support. The share button is invisible Bug: 123212410 Test: manual test Change-Id: I87962d730282fc2c1b96223dca6feb79235fe5a1
This commit is contained in:
@@ -84,9 +84,18 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment {
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
MenuItem item = menu.add(0, Menu.FIRST, 0, R.string.next_label);
|
||||
item.setIcon(R.drawable.ic_scan_24dp);
|
||||
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||
final WifiNetworkConfig wifiNetworkConfig = getWifiNetworkConfigFromHostActivity();
|
||||
MenuItem menuItem;
|
||||
if (wifiNetworkConfig.isSupportConfiguratorQrCodeScanner(getActivity())) {
|
||||
menuItem = menu.add(0, Menu.FIRST, 0, R.string.next_label);
|
||||
menuItem.setIcon(R.drawable.ic_scan_24dp);
|
||||
menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||
} else {
|
||||
menuItem = menu.findItem(Menu.FIRST);
|
||||
if (menuItem != null) {
|
||||
menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
|
||||
}
|
||||
}
|
||||
|
||||
super.onCreateOptionsMenu(menu, inflater);
|
||||
}
|
||||
@@ -116,11 +125,7 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment {
|
||||
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");
|
||||
}
|
||||
final WifiNetworkConfig wifiNetworkConfig = getWifiNetworkConfigFromHostActivity();
|
||||
mTitle.setText(R.string.wifi_dpp_share_wifi);
|
||||
mSummary.setText(getString(R.string.wifi_dpp_scan_qr_code_with_another_device,
|
||||
wifiNetworkConfig.getSsid()));
|
||||
@@ -139,4 +144,14 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment {
|
||||
Log.e(TAG, "Error generatting QR code bitmap " + e);
|
||||
}
|
||||
}
|
||||
|
||||
WifiNetworkConfig getWifiNetworkConfigFromHostActivity() {
|
||||
final WifiNetworkConfig wifiNetworkConfig = ((WifiNetworkConfig.Retriever) getActivity())
|
||||
.getWifiNetworkConfig();
|
||||
if (!WifiNetworkConfig.isValidConfig(wifiNetworkConfig)) {
|
||||
throw new IllegalStateException("Invalid Wi-Fi network for configuring");
|
||||
}
|
||||
|
||||
return wifiNetworkConfig;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user