OSDN Git Service

Fix Settings crash after clicking 'Share Wi-Fi' button
authorArc Wang <arcwang@google.com>
Wed, 27 Feb 2019 03:33:43 +0000 (11:33 +0800)
committerArc Wang <arcwang@google.com>
Wed, 27 Feb 2019 03:33:43 +0000 (11:33 +0800)
When connecting to an open network, Settings crash after
scanning Wi-Fi DPP QR code and clicking 'Share Wi-Fi' button.

When choosing default network for configurator usage, should
make sure if it supports Wi-Fi DPP or not.

Bug: 126456582
Test: manual test
      atest WifiQrCodeTest
            WifiDppConfiguratorActivityTest
            WifiDppEnrolleeActivityTest
            WifiDppQrCodeGeneratorFragmentTest
            WifiDppQrCodeScannerFragmentTest
            WifiNetworkListFragmentTest
            WifiDppChooseSavedWifiNetworkFragmentTest

Change-Id: I66ee9b01314b84213ecb3016e6e72ff71af8dfc7

src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
src/com/android/settings/wifi/dpp/WifiNetworkConfig.java

index 1770a02..be5a12f 100644 (file)
@@ -156,7 +156,7 @@ public class WifiDppConfiguratorActivity extends InstrumentedActivity implements
                     cancelActivity = true;
                 } else {
                     final WifiNetworkConfig connectedConfig = getConnectedWifiNetworkConfigOrNull();
-                    if (connectedConfig == null) {
+                    if (connectedConfig == null || !connectedConfig.isSupportWifiDpp(this)) {
                         showChooseSavedWifiNetworkFragment(/* addToBackStack */ false);
                     } else {
                         mWifiNetworkConfig = connectedConfig;
index 2264ba6..daa41d9 100644 (file)
@@ -86,7 +86,7 @@ public class WifiDppQrCodeGeneratorFragment extends WifiDppQrCodeBaseFragment {
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         final WifiNetworkConfig wifiNetworkConfig = getWifiNetworkConfigFromHostActivity();
         MenuItem menuItem;
-        if (wifiNetworkConfig.isSupportConfiguratorQrCodeScanner(getActivity())) {
+        if (wifiNetworkConfig.isSupportWifiDpp(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);
index 979e602..1d82bb9 100644 (file)
@@ -212,7 +212,7 @@ public class WifiNetworkConfig {
         wifiManager.connect(wifiConfiguration, listener);
     }
 
-    public boolean isSupportConfiguratorQrCodeScanner(Context context) {
+    public boolean isSupportWifiDpp(Context context) {
         if (!WifiDppUtils.isWifiDppEnabled(context)) {
             return false;
         }