From 730a6c0f5e042edd705e2a431b360b3988a566f4 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Wed, 27 Feb 2019 11:33:43 +0800 Subject: [PATCH] Fix Settings crash after clicking 'Share Wi-Fi' button 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 | 2 +- src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java | 2 +- src/com/android/settings/wifi/dpp/WifiNetworkConfig.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java index 1770a02c8f..be5a12ffbf 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java +++ b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java @@ -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; diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java index 2264ba6a1b..daa41d9f8f 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java +++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java @@ -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); diff --git a/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java b/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java index 979e602bf4..1d82bb920b 100644 --- a/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java +++ b/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java @@ -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; } -- 2.11.0