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
1. From ACTION_PROCESS_WIFI_EASY_CONNECT_QR_CODE to ACTION_PROCESS_WIFI_EASY_CONNECT_URI
2. Remove EXTRA_QR_CODE and use data Uri to specify Easy Connect bootstrapping information string
Bug: 125874365
Test: atest AvailableIntentsTest
WifiDppChooseSavedWifiNetworkFragmentTest
WifiDppConfiguratorActivityTest
WifiNetworkListFragmentTest
Change-Id: I706513520daa10197a27f596fa08ca58980205d8
1. Do not start WifiSettings after enrollee success
2. Return WifiConfiguration to the calling object after enrollee success
3. In WifiDialog, do not show scan button if Save button is not visible to users
4. Fix scanner button may not respond problem by setting listener for scanner
button of ssid field and password field
5. If SSID is assigned, only allow to enrollee for the network of assigned SSID
Bug: 124416152
Test: manual test
Change-Id: Ic5241c4767eaa8ea01782817d8302d8b0572ab36
Show error message for corresponding Wi-Fi DPP error code. And
1. To update error message only from each fragment,
remove some callbacks which calls from fragment to activity.
2. After clicking 'Share Wi-Fi' button, hide it before Wi-Fi DPP handshake completes.
3. Show 'Done' button for some error codes.
4. Use ViewModel to call startEasyConnectAsConfiguratorInitiator and
startEasyConnectAsEnrolleeInitiator because a lifecycle object
does not receive an Executor callback after configurator change.
5. In WifiDppQrCodeScannerFragment, show an error message for 10s instead of 2s
since new added error messages may carry more information.
6. Show a different error message for enrollee handshake success but Wi-Fi
connection fail case.
7. stop camera when scanned a Wi-Fi DPP QR code for enrollee.
8. In QR code scanner fragment, support to show error message after
configuration change.
Bug: 124247872
Bug: 124491247
Test: manual test
atest WifiQrCodeTest
atest WifiDppConfiguratorActivityTest
atest WifiDppEnrolleeActivityTest
atest WifiDppQrCodeGeneratorFragmentTest
atest WifiDppQrCodeScannerFragmentTest
atest WifiNetworkListFragmentTest
atest WifiDppChooseSavedWifiNetworkFragmentTest
Change-Id: Id130215e9ddafac8bc4c68238deda48ce99b4255
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
1. set fragment icon for WifiDppChooseSavedWifiNetworkFragment
2. set fragment icon of success for WifiDppAddDeviceFragment
All Wi-Fi DPP fragment icons are VectorDrawable of instinct size
24dp draw on a 48dp canvas. Except for ic_devices_check_circle_green,
it's a LayerDrawable of different size. I dynamically change ImageView
layout width & height between these 2 different kind of drawable.
Bug: 122982132
Test: manual test
Change-Id: Idab8cd8b0798363e447da00dc6bc68a86498b8be
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
When it's a configurator from Settings, the cancel button of WifiDppChooseSavedWifiNetworkFragment
should pop back stack. When it's a configurator from a camera app, the cancel button of
WifiDppChooseSavedWifiNetworkFragment should finish host activity.
Bug: 120517242
Test: manual test
Change-Id: Ia0fb0daf16c94ecd62aa6d357405fcd529935d2f
Due to API changes, uses Executor instead of Handler for Easy Connect
API.
Test: manual test
Bug: 122331217
Change-Id: Iddda3e6c9079e2bba814be6a0097d60ee349a504
Uses connected access point to start DPP in Configurator-Initiator role directly.
Bug: 118794978
Test: RunSettingsRoboTests
Change-Id: Ie2d5661fdef3588bb597d4a7e4dfe5f981737c84
1.Scan valid access points for DPP configurator by using WifiTracker.
2.Allow user to add a new network for DPP configurator.
Bug: 118794978
Test: RunSettingsRoboTests
Change-Id: I36504d28dec7d2c9091aa6c35ebe2495045681f7
All DPP public API and constants renamed to use Easy Connect,
which is the WFA public technology name. Update the settings code to use the
new API names.
Bug: 122851551
Test: atest DppManagerTest
Test: act.py -c ../WifiDppConfig.json -tc WifiDppTest
Change-Id: Ib531393a81526c468c978e31f1c62c5022245d55
Both QR code and Wi-Fi network data may not come from intent.
After configuration change, the null data will crash the activity.
Bug: 120243131
Test: atest WifiDppConfiguratorActivityTest
Change-Id: I6abbfc5d25431789e8ac9f6ee9dfaaef15b2de33
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
1. Use ConstraintLayout to fix footer buttons at bottom
2. ScrollViews have all other UI components excepts footer buttons
3. Use style/SuwGlifButton for buttons
4. Fix scan fragment crash when rotating screen
Bug: 118794978
Test: manual test
Change-Id: I509b0156c4835c75da75fb7ac4c82f55a0b506a1
1. As DPP configurator initiator.
2. As DPP enrollee initiator.
3. Pass whole DPP url to DPP API due to API cahnged.
Bug: 122331217
Test: manual test
Change-Id: I8005b78b82453badf253dbde8022ff20722b39fd
1. Update strings and icons.
2. Add more UI features in WifiDppAddDeviceFragment &
WifiDppChooseSavedWifiNetworkFragment.
Bug: 118794978
Test: manual test
Change-Id: I2bee3f66732a1083fb13c113695899272e98c23e
PROCESS_WIFI_DPP_QR_CODE for more intuitive naming.
This change also caches the Wi-Fi DPP QR code in activity for
fragment to use.
Bug: 118794978
Test: manual test
Change-Id: I4bdb021883cb21ce7cc56edf656d1eee079359e5
1. WifiDppQrCodeBaseFragment only declairs common UI components between fragments.
2. Initiate UI components in onViewCreated of each View.
3. Remove the only one usage of @NonNull since it should be used consistently
throughout the class if we want to use it.
4. Use android.R.id for icon/title/summary
Bug: 120645817
Test: atest WifiDppConfiguratorActivityTest
atest WifiDppEnrolleeActivityTest
atest WifiDppQrCodeGeneratorFragmentTest
atest WifiDppQrCodeScannerFragmentTest
Change-Id: I54f99a3072533cec46f0e47753ee0331fecf2ada
1. Implements WifiNetworkConfig Wi-Fi connection method
2. Shows error message when the QR code is not valid and hides it after 2s
3. In configurator mode, launchs AddDeviceFragment for a valid QR code
4. In enrollee mode, connects Wi-Fi for a valid QR code
Bug: 118794978
Test: manual test
atest WifiQrCodetest
atest WifiDppConfiguratorActivityTest
atest WifiDppEnrolleeActivityTest
atest WifiDppQrCodeScannerFragmentTest
Change-Id: Ie4731b22df295c60906156d33ea28dad9c084ce4
ZXing Wi-Fi QR code uses ';' as the delimiter for key/value pairs,
should not treat an escaped "\;" as the delimiter.
This fix also change the parsing result:
If there is no specified key, the result value is null.
If specified key exists with empty value, the result value is an empty string.
Bug: 118797380
Test: atest WifiQrCodetest
Change-Id: I786ce7c4fa66dcb31d8a61d7a3251c2f539ccc99