Fix Wi-Fi DPP fragment back stack problems

1. When a Wi-Fi network connected and receiving
   intent android.settings.PROCESS_WIFI_EASY_CONNECT_QR_CODE,
   show WifiDppAddDeviceFragment from WifiDppConfiguratorActivity
   instead of WifiNetworkListFragment

2. Only handle intent when savedInstanceState is null

3. To show a fragment
   I. do nothing when a fragment is already visible on screen,
   II. pop back stack if it's in back stack, we can do this because
   current fragment transactions are arranged in an order

Bug: 124194531
Test: atest WifiQrCodeTest
      atest WifiDppConfiguratorActivityTest
      atest WifiDppEnrolleeActivityTest
      atest WifiDppQrCodeGeneratorFragmentTest
      atest WifiDppQrCodeScannerFragmentTest
      atest WifiNetworkListFragmentTest
      atest WifiDppChooseSavedWifiNetworkFragmentTest

Change-Id: I1d44eeb3bdc7bfb2ec2e4d81efaab64b066651ad
This commit is contained in:
Arc Wang
2019-01-31 11:07:38 +08:00
parent fd9cdb50c5
commit 9d33313735
5 changed files with 114 additions and 49 deletions

View File

@@ -98,7 +98,6 @@ public class WifiNetworkListFragmentTest {
private void callOnWifiStateChanged(int state) {
mActivityRule.getActivity().getMainThreadHandler()
.post(() -> mWifiNetworkListFragment.onWifiStateChanged(state));
mWifiNetworkListFragment.mUseConnectedAccessPointDirectly = false;
}
/** Launch the activity via an Intent with a String extra. */
@@ -173,4 +172,4 @@ public class WifiNetworkListFragmentTest {
onView(withText(resourceString(WIFI_DISPLAY_STATUS_CONNECTED))).check(
matches(isDisplayed()));
}
}
}