Commit Graph

178 Commits

Author SHA1 Message Date
Johnson Lu
0adba0aa1b Implement WifiNetworkListFragment
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
2019-01-15 13:27:47 +08:00
Hai Shalom
e046e8af2a [DPP] Fix usage of "DPP" public API to "Easy Connect"
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
2019-01-14 15:49:59 -08:00
Arc Wang
dcf3f2906f Fix Wi-Fi DPP activity crash after configuration change.
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
2019-01-10 12:22:56 +08:00
Arc Wang
a7d51370c8 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
2019-01-10 12:09:58 +08:00
Arc Wang
8eda83d071 Add more Wi-Fi DPP UI features.
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
2019-01-09 18:25:31 +08:00
Johnson Lu
7bdf8b3d37 Implement Wi-Fi DPP flow
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
2019-01-08 13:42:42 +08:00
Arc Wang
c8cd5d3834 Add more Wi-Fi DPP UI features.
1. Update strings and icons.
2. Add more UI features in WifiDppAddDeviceFragment &
   WifiDppChooseSavedWifiNetworkFragment.

Bug: 118794978
Test: manual test
Change-Id: I2bee3f66732a1083fb13c113695899272e98c23e
2019-01-04 12:17:02 +08:00
Arc Wang
8e580952c3 Change action WIFI_DPP_CONFIGURATOR_CHOOSE_SAVED_WIFI_NETWORK to
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
2019-01-04 09:59:40 +08:00
Arc Wang
221b7e0b77 Refine Wi-Fi DPP fragments.
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
2019-01-02 07:13:10 +00:00
Arc Wang
1988fb75c6 Implement Wi-Fi QR code scanner flow.
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
2019-01-02 07:12:15 +00:00
Arc Wang
cc8212edf6 Add connect() method in WifiNetworkConfig to connect Wi-fi.
This method uses data of ZXing Wi-Fi QR code to connect.

Bug: 118794978
Test: manual test
Change-Id: I249f2f638c8d2fe231c50ba50eae8dfc0dc40a5c
2019-01-02 06:08:09 +00:00
Arc Wang
87c40f3b60 Fix ZXing Wi-Fi QR code parsing bug.
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
2019-01-02 06:07:46 +00:00
Johnson Lu
7414543635 Show QR Code picture for WiFi sharing
Bug: 118794858
Test: make RunSettingsRoboTests
Change-Id: Ic5a489840ba59262eb444f02d77bf066889a4220
2018-12-27 09:55:44 +08:00
Arc Wang
e1b6712926 Implement QR code parser WifiQrCodetest.
The parser supports standard WI-Fi DPP QR code & ZXing reader library's
Wi-Fi Network config format.

Bug: 118797380
Test: atest WifiQrCodetest
      atest RunSettingsRoboTests

Change-Id: Ia47b8f65a900099749a6aa24afa3abd21ede1582
2018-12-20 15:12:34 +08:00
Arc Wang
9dbc040510 Merge "Fine tune UI layout files of WifiDppQrCodeScannerFragment & WifiDppQrCodeGeneratorFragment" 2018-12-18 07:26:47 +00:00
Arc Wang
504aedb708 Merge "Support Wi-Fi DPP metrics categories in Wi-Fi DPP activities & fragments." 2018-12-18 02:30:36 +00:00
Arc Wang
fb0a081848 Fine tune UI layout files of WifiDppQrCodeScannerFragment &
WifiDppQrCodeGeneratorFragment

    1. Remove footer in landscape QR code scanner fragment
    2. Move header icon from activity layout file to header layout file
    3. Fine tune header layout file
    4. set icons for the 2 fragments

Bug: 118797380
Bug: 118794858
Test: atest WifiDppConfiguratorActivityTest
      atest WifiDppQrCodeScannerFragmentTest
      atest WifiDppQrCodeGeneratorFragmentTest
      atest RunSettingsRoboTests

Change-Id: I7e547d7c29dd947a890e902e61b8244fec399354
2018-12-18 02:23:22 +00:00
Johnson Lu
802363363f Merge "Adjust camera preview area to square" 2018-12-18 01:13:14 +00:00
Johnson Lu
ebbb0bc563 Adjust camera preview area to square
1.Choose the smaller size of both dimensions as its size.
2.Set transform matrix to crop and center the preview picture.

Bug: 118797380
Test: make RunSettingsRoboTests
Change-Id: Ic65fb1fe0c5082995d6903f50dda48eec16c3fb1
2018-12-15 16:07:02 +08:00
Arc Wang
c8a65cbddf Support Wi-Fi DPP metrics categories in Wi-Fi DPP activities & fragments.
MetricsProto.MetricsEvent.SETTINGS_WIFI_DPP_CONFIGURATOR
  MetricsProto.MetricsEvent.SETTINGS_WIFI_DPP_ENROLLEE

Bug: 118797380
Bug: 118794858
Bug: 118794978
Test: NA
Change-Id: I62fe09029d350fa976465ac872a4f53a64a74dcd
2018-12-14 08:16:52 +00:00
Arc Wang
8ff2852f74 Implement receiver flow of WiFi sharing feature II
Bug: 120630683
Test: atest RunSettingsRoboTests
Change-Id: Iabe56205ff9274382adbe5bba59a60d833a57214
2018-12-14 06:50:26 +00:00
Johnson Lu
d6a40032c1 Merge "Implement receiver flow of WiFi sharing feature" 2018-12-13 00:54:46 +00:00
Arc Wang
4ab0d168e2 Implement Wi-Fi DPP UI.
Add WifiDppEnrolleeActivity
  Remove bottom buttons of WifiDppQrCodeScannerFragment
  Add ActionBar in WifiDppQrCodeScannerFragment &
      WifiDppQrCodeGeneratorFragment

Bug: 118797380
Bug: 118794858
Test: atest WifiDppConfiguratorActivityTest
      atest WifiDppQrCodeScannerFragmentTest
      atest WifiDppQrCodeGeneratorFragmentTest
      atest atest RunSettingsRoboTests

Change-Id: I1d464dc9a8d54a896b8e0c9185a74bed7b193b60
2018-12-12 10:07:20 +08:00
Johnson Lu
5aef897e9b Implement receiver flow of WiFi sharing feature
1.Add a button to launch QR code scanner when add a network.
2.Scan button added in AddNetworkFragment / WifiDialog / WifiSettings.

Bug: 120630683
Test: make RunSettingsRoboTests
Change-Id: I340bfa2247e092f586dd90dfea37c355e681ffee
2018-12-11 14:25:07 +08:00
Arc Wang
e43bb77e5d Use multiple actions to launch Wi-Fi DPP configurator with different mode.
Bug: 118797380
Bug: 118794858
Test: atest WifiDppConfiguratorActivityTest
      atest WifiDppQrCodeScannerFragmentTest
      atest atest RunSettingsRoboTests

Change-Id: I96aba3c5e3d57c89d6948d3bf3dd85f29f705778
2018-12-04 11:46:37 +08:00
Johnson Lu
a558c01696 Integrate QrCode Camera with WifiDppQrCodeScannerFragment
Bug: 118797380
Test: RunSettingsRoboTests
Change-Id: I328bebbbcf44136df2c18ca1929a5da377a0cf6b
2018-12-01 09:03:39 +08:00
Arc Wang
f5d6089d35 Upload basic UI files for Wi-Fi DPP Settings development II.
Add 3 fragments:

  WifiDppQrCodeGeneratorFragment
  WifiDppChooseSavedWifiNetworkFragment
  WifiDppAddDeviceFragment

Bug: 118797380
     118797202
     118794978
     118796825
     118794858
Test: atest WifiDppConfiguratorActivityTest
      atest WifiDppQrCodeScannerFragmentTest
      atest atest RunSettingsRoboTests

Change-Id: I2fbc2f46f941d49b63e4ac74d92f94bf617d2b9b
2018-11-29 07:11:29 +00:00
Arc Wang
4591d82bdf Upload basic UI files for Wi-Fi DPP Settings development.
WifiDppQrCodeScannerActivity is the activity for user to scan
QR code and add device to a saved network.

Bug: 118797380
Test: manual
Change-Id: If2c8c5ba1620e5584fb47ba7b0ea2bc2d7acb641
2018-11-21 10:06:47 +00:00