Implement Wi-Fi DPP flow
1. Wi-Fi DPP hanshake fail UI 2. Show Wi-Fi DPP QR code information field on WifiDppAddDeviceFragment if it's available. 3. Click 'Choose Different Network' button will show WifiDppChooseSavedWifiNetworkFragment 4. After QR code scanner scans success, WifiDppConfiguratorActivity caches WifiQrCode instead of just a QR code string Bug: 122429170 Test: manual test Change-Id: I1ce1b014ff86903b5a7a8f3575cc98eb1079583c
This commit is contained in:
@@ -100,7 +100,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
||||
|
||||
// Container Activity must implement this interface
|
||||
public interface OnScanWifiDppSuccessListener {
|
||||
public void onScanWifiDppSuccess(String uri);
|
||||
public void onScanWifiDppSuccess(WifiQrCode wifiQrCode);
|
||||
}
|
||||
OnScanWifiDppSuccessListener mScanWifiDppSuccessListener;
|
||||
|
||||
@@ -108,7 +108,7 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
||||
public interface OnScanZxingWifiFormatSuccessListener {
|
||||
public void onScanZxingWifiFormatSuccess(WifiNetworkConfig wifiNetworkConfig);
|
||||
}
|
||||
OnScanZxingWifiFormatSuccessListener mScanScanZxingWifiFormatSuccessListener;
|
||||
OnScanZxingWifiFormatSuccessListener mScanZxingWifiFormatSuccessListener;
|
||||
|
||||
/**
|
||||
* Configurator container activity of the fragment should create instance with this constructor.
|
||||
@@ -146,13 +146,13 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
||||
super.onAttach(context);
|
||||
|
||||
mScanWifiDppSuccessListener = (OnScanWifiDppSuccessListener) context;
|
||||
mScanScanZxingWifiFormatSuccessListener = (OnScanZxingWifiFormatSuccessListener) context;
|
||||
mScanZxingWifiFormatSuccessListener = (OnScanZxingWifiFormatSuccessListener) context;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDetach() {
|
||||
mScanWifiDppSuccessListener = null;
|
||||
mScanScanZxingWifiFormatSuccessListener = null;
|
||||
mScanZxingWifiFormatSuccessListener = null;
|
||||
|
||||
super.onDetach();
|
||||
}
|
||||
@@ -272,17 +272,17 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is only called when QrCamera.ScannerCallback.isValid returns true;
|
||||
* This method is only called when QrCamera.ScannerCallback.isValid returns true;
|
||||
*/
|
||||
@Override
|
||||
public void handleSuccessfulResult(String qrCode) {
|
||||
switch (mWifiQrCode.getScheme()) {
|
||||
case WifiQrCode.SCHEME_DPP:
|
||||
handleWifiDpp(qrCode);
|
||||
handleWifiDpp();
|
||||
break;
|
||||
|
||||
case WifiQrCode.SCHEME_ZXING_WIFI_NETWORK_CONFIG:
|
||||
handleZxingWifiFormat(mWifiQrCode.getWifiNetworkConfig());
|
||||
handleZxingWifiFormat();
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -290,25 +290,22 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
||||
}
|
||||
}
|
||||
|
||||
private void handleWifiDpp(String uri) {
|
||||
private void handleWifiDpp() {
|
||||
destroyCamera();
|
||||
mDecorateView.setFocused(true);
|
||||
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(KEY_PUBLIC_URI, uri);
|
||||
|
||||
Message message = mHandler.obtainMessage(MESSAGE_SCAN_WIFI_DPP_SUCCESS);
|
||||
message.setData(bundle);
|
||||
message.obj = new WifiQrCode(mWifiQrCode.getQrCode());
|
||||
|
||||
mHandler.sendMessageDelayed(message, SHOW_SUCCESS_SQUARE_INTERVAL);
|
||||
}
|
||||
|
||||
private void handleZxingWifiFormat(WifiNetworkConfig wifiNetworkConfig) {
|
||||
private void handleZxingWifiFormat() {
|
||||
destroyCamera();
|
||||
mDecorateView.setFocused(true);
|
||||
|
||||
Message message = mHandler.obtainMessage(MESSAGE_SCAN_ZXING_WIFI_FORMAT_SUCCESS);
|
||||
message.obj = wifiNetworkConfig;
|
||||
message.obj = new WifiQrCode(mWifiQrCode.getQrCode()).getWifiNetworkConfig();
|
||||
|
||||
mHandler.sendMessageDelayed(message, SHOW_SUCCESS_SQUARE_INTERVAL);
|
||||
}
|
||||
@@ -359,17 +356,14 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
||||
if (mScanWifiDppSuccessListener == null) {
|
||||
return;
|
||||
}
|
||||
final Bundle bundle = msg.getData();
|
||||
final String uri = bundle.getString(KEY_PUBLIC_URI);
|
||||
|
||||
mScanWifiDppSuccessListener.onScanWifiDppSuccess(uri);
|
||||
mScanWifiDppSuccessListener.onScanWifiDppSuccess((WifiQrCode)msg.obj);
|
||||
break;
|
||||
|
||||
case MESSAGE_SCAN_ZXING_WIFI_FORMAT_SUCCESS:
|
||||
if (mScanScanZxingWifiFormatSuccessListener == null) {
|
||||
if (mScanZxingWifiFormatSuccessListener == null) {
|
||||
return;
|
||||
}
|
||||
mScanScanZxingWifiFormatSuccessListener.onScanZxingWifiFormatSuccess(
|
||||
mScanZxingWifiFormatSuccessListener.onScanZxingWifiFormatSuccess(
|
||||
(WifiNetworkConfig)msg.obj);
|
||||
break;
|
||||
|
||||
@@ -381,8 +375,8 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
outState.putBoolean(KEY_IS_CONFIGURATOR_MODE, mIsConfiguratorMode);
|
||||
outState.putBoolean(KEY_IS_CONFIGURATOR_MODE, mIsConfiguratorMode);
|
||||
|
||||
super.onSaveInstanceState(outState);
|
||||
super.onSaveInstanceState(outState);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user