Commit Graph

105 Commits

Author SHA1 Message Date
TreeHugger Robot
04e72e23d9 Merge "[Wi-Fi] Prevent fatal exception for null intent action" 2019-08-22 09:51:01 +00:00
Arc Wang
1e451cf708 [Wi-Fi] Prevent fatal exception for null intent action
Intent action may be null.

Bug: 139020487
Test: WifiScanModeActivityTest
      WifiNoInternetDialogTest
      WifiDppConfiguratorActivityTest
      WifiDppEnrolleeActivityTest
Change-Id: Ie6119a86aaee1a6b40710705a0ea7d92c24736d6
2019-08-22 13:42:47 +08:00
Arc Wang
03f1ee1b50 [Wi-Fi] Support hidden SSID Wi-Fi networks for Wi-Fi QR code scanner & generator
WifiTracker#getAccessPoints() only contains a hidden SSID Wi-Fi
network if it's a saved Wi-Fi network. We can't check if a hidden
SSID Wi-Fi network is reachable inadvance. That is the difference
after a user scanned a QR code of hidden SSID Wi-Fi network.

Bug: 135892509
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiDppUtilsTest
      manual test:
      Click the Share button of a connected hidden SSID Wi-Fi network
      and save the QR code image. Use Wi-Fi QR code scanner in Wi-Fi
      Settings to scan the saved QR code image.

Change-Id: I9056622e6dadb04e5642ae1c50fb4d227a78d26d
2019-08-20 09:54:17 +08:00
Arc Wang
a12b372dd2 [Wi-Fi DPP] Refine code
Remove unused code.
Rename some variables and methods for better readability.
Fix typos.
Reduce unnecessary variable scope and method scope.
Simplify some code logic.

Bug: 120645817
Test: atest com.android.settings.wifi.dpp
Change-Id: I8f30b3e445f25ada927e995befee1783d2270b91
2019-07-19 10:29:06 +08:00
TreeHugger Robot
23fbf601a0 Merge "[Wi-Fi DPP] Improve TalkBack information for events" 2019-07-10 08:39:05 +00:00
TreeHugger Robot
d9f680fc92 Merge "[Wi-Fi DPP] Add a parent class for WifiDppConfiguratorActivity and WifiDppEnrolleeActivity" 2019-07-09 11:15:28 +00:00
Arc Wang
1df7f2d1c1 [Wi-Fi DPP] Improve TalkBack information for events
Title and summary may be changed after user operations or Wi-Fi Easy connect handshake,
setAccessibilityLiveRegion could specify accessibility services to announce these changes.

In WifiDppAddDeviceFragment, I set title before summary for correct TalkBack announce sequence.

Bug: 137069941
Test: manual
Change-Id: Id032cfcb86c350feeac808f070665ac26261ceb8
2019-07-09 17:30:01 +08:00
Arc Wang
2d211208d6 [Wi-Fi DPP] remove unused code
Bug: 120645817
Test: atest com.android.settings.wifi.dpp
Change-Id: I467888de0efe8ae663863e9eacc15e77d32487d2
2019-07-08 18:23:56 +08:00
Arc Wang
91c3146b48 [Wi-Fi DPP] Add a parent class for WifiDppConfiguratorActivity and WifiDppEnrolleeActivity
To reduce duplicate code.

Bug: 129305770
Test: atest com.android.settings.wifi.dpp
Change-Id: I3046c7d6dd7159a9a7dd7766370a65c0f5b3150e
2019-07-08 17:36:18 +08:00
Arc Wang
781a61930c Merge "[Wi-Fi DPP] Wi-Fi QR code scanner is not working after a connection fail" into qt-dev am: d64b6c8846 am: 9b971efd6b
am: 6d435d69b3

Change-Id: I7aeb116d93e608204541d626b48274ffd8254bb6
2019-06-19 21:34:36 -07:00
Arc Wang
d64b6c8846 Merge "[Wi-Fi DPP] Wi-Fi QR code scanner is not working after a connection fail" into qt-dev 2019-06-20 01:34:09 +00:00
Arc Wang
0a628e227a Merge "[Wi-Fi DPP] Support WPA2/WPA3 transition mode" into qt-dev am: d8916ef151 am: c58b3aaf0f
am: 8c123c6a59

Change-Id: Id6caccbcd9790e0f9393b8b0ddea6ebb529706b6
2019-06-19 10:36:46 -07:00
TreeHugger Robot
8d51b1b4e8 Merge "[Wi-Fi DPP] Improve Wi-Fi QR code error messages" 2019-06-19 10:05:45 +00:00
TreeHugger Robot
11e1d45c9c Merge "[Wi-Fi DPP] Fix UI defects" 2019-06-19 06:17:22 +00:00
Arc Wang
00c8b534cd [Wi-Fi DPP] Wi-Fi QR code scanner is not working after a connection fail
After a user uses Wi-Fi QR code scanner to scan a QR code of an unreachable
Wi-Fi network, the scanner does not recognize any QR code until the scanner is
restarted or back from a screen off state.

To restart QrCamera after a Wi-Fi QR code recognition, we should stop it before
start, otherwise the DecodeTask will not work.

Bug: 135225856
Test: Scan a Wi-Fi QR code of unreachable Wi-Fi network and
      scan a Wi-Fi QR code of reachable Wi-Fi network, check
      if the scanner recognizes QR code.

Change-Id: I0063c867d8e4046f184d02134bda842887c003a1
2019-06-19 10:01:17 +08:00
Arc Wang
c7d32d1cc1 [Wi-Fi DPP] Fix UI defects
1. Set scan icon minWidth 64dp instead of 48dp
2. Show finish button after Wi-Fi Easy Connect handshake successfully

Bug: 129666609
Bug: 135490433
Test: manual visual
Change-Id: Ifcdbe61b314a9cce3043965e9e5b67406c4616f9
2019-06-18 09:52:25 +08:00
Arc Wang
d2dc5438fa [Wi-Fi DPP] Improve Wi-Fi QR code error messages
Give all failures of Wi-Fi QR code format or data problem
with a correct error message.

Bug: 134033509
Test: manual visual
Change-Id: I5259d0d68e47d00a69e3e8107697605f3f187203
2019-06-13 16:24:14 +08:00
Arc Wang
838cbbf539 [Wi-Fi DPP] Remove scanner button of unsaved WiFi network dialogs
Romove it because we may not ensure the network of a QR code is
matching the selected one.

Bug: 134701332
Test: manual visual
Change-Id: I264e921c806f2b335d158fc4cffc48acf69f5c19
2019-06-13 16:17:03 +08:00
Arc Wang
751eba205b [Wi-Fi DPP] Support WPA2/WPA3 transition mode
This change shows buttons of QR code scnanner and QR code generator
for a connected Wi-Fi network.

Bug: 134706055
Test: Generate QR code for a WPA2/WPA3 personal transition mode Wi-Fi AP
          and check if the security type is WPA2 personal.
      Generate QR code for open network.
      Generate QR code for OWE network.
      Scan a QR code of open network, verify connection.
      Scan a QR code of OWE network, verify connection.
      Scan a QR code of WPA3 network, verify connection.
      Scan a QR code of WPA3 network, verify transition mode connection.

Change-Id: I60f2c38585f85745f992fa63a5ea85312f08c5e5
2019-06-11 15:10:43 +08:00
Arc Wang
8e3c49123d [Wi-Fi DPP] Refine Wi-Fi DPP UI layouts with SUW library
1. Use GlifLayout in all fragments
2. Fragments use 32dp icon instead of 48 dp
3. Replace ScrollView & ProgressBar & Header & Footer of original layout with GlifLayout design
4. Remove ActionBar (no more back button on screen top)

Bug: 129021867
Test: manual
Change-Id: I2fda48cb7f7819b2c8dd85c10d39e1f187463bd8
2019-05-21 13:59:39 +08:00
Fan Zhang
a10d3cfc78 Fix view overlap in wifi dpp enrollment.
Fixes: 132813855
Test: visual
Change-Id: I5415b8edaf1ce5ae122e4d1ee41e65ca825f72e6
2019-05-17 12:58:50 -07:00
Arc Wang
ac75faa207 Fix back arrow in wifi settings "connect to this network connection qr code" does not work
When clicking back button, pop fragment and Finish the activity if there is nothing to pop

Bug: 132132756
Test: atest WifiDppConfiguratorActivityTest
Change-Id: Ia16951e79e578f1625e5fadd26553735fa90bffa
2019-05-07 18:06:54 +08:00
Amin Shaikh
3f1de20c7e Fix themed settings icons.
- Added android prefix for homeAsUpIndicator attribute
- Override ic_arrow_down_24dp from androidx
- Remove ic_lock drawable overlay
- Update date and time icon
- Dedupe ic_menu_add and ic_add_24dp

Bug: 131346125
Test: mp settings;
Change-Id: I7223249f2adccc5569a37e8b68cae5499e7c7620
2019-05-03 17:02:46 +00:00
Pasty Chang
54cddc70e5 Merge "Set QR scan activity to light theme in setup flow" into qt-dev 2019-04-29 01:52:11 +00:00
TreeHugger Robot
79f75e483f Merge "Add action metrics for Wi-Fi provision features" into qt-dev 2019-04-23 17:36:54 +00:00
pastychang
ec0a30a8b9 Set QR scan activity to light theme in setup flow
Test: atest
Bug: 131029518
Change-Id: Ibec28e78fcf17390cd3844ead4a88a4e6bff6094
2019-04-23 13:38:39 +00:00
Arc Wang
3940c331df Add action metrics for Wi-Fi provision features
// ACTION: Share a Wi-Fi network by generating a QR code
  ACTION_SETTINGS_SHARE_WIFI_QR_CODE

  // ACTION: Connect to a Wi-Fi network by scanning a QR code
  ACTION_SETTINGS_ENROLL_WIFI_QR_CODE

  // ACTION: Share Wi-Fi hotspot by generating a QR code
  ACTION_SETTINGS_SHARE_WIFI_HOTSPOT_QR_CODE

Bug: 130521826
Test: manual
Change-Id: I4204307dd5318eb7c47e4136dc7d8700d43e4da1
2019-04-19 15:28:29 +08:00
Arc Wang
994929ecc7 Hide 'Share' button and 'Add device' preference for a Passpoint Wi-Fi network
Passpoint provisioning is much different from other Wi-Fi networks and ZXing
does not support a QR code format to share a passpoint Wi-Fi network. We
should not show any button to share a passpoint Wi-Fi network.

Bug: 130609037
Test: manual
Change-Id: Ie2538ed9e030e5aa2e88452b50b6592223ca46a8
2019-04-16 16:51:04 +08:00
Arc Wang
982e46fe6c Merge "Fix can't share WEP Wi-Fi network via Wi-Fi QR code generator" into qt-dev 2019-04-12 02:36:21 +00:00
Arc Wang
2ef2ed66b6 Fix can't share WEP Wi-Fi network via Wi-Fi QR code generator
For a WEP Wi-Fi network, we should get the password from
WifiConfiguration#wepKeys instead of WifiConfiguration#preSharedKey.

Bug: 130204717
Test: manual
Change-Id: I766a767f3d605c7fbf0b71d263fd111f159c7cde
2019-04-10 13:59:20 +08:00
Arc Wang
e2b4bccbf1 Should not decode Wi-Fi QR code after onPause
Bug: 130141694
Test: manual
      atest WifiDppQrCodeScannerFragmentTest

Change-Id: I412fb7c06220c23bddc7b3c448fcc72a00bdecc3
2019-04-09 13:30:59 +08:00
Arc Wang
4a5ff58511 Supports to share Wi-Fi networks of WPA3 security SAE & OWE via QR code generator
When scanned a no password ZXing QR code, add both open network &
enhanced open network to configured Wi-Fi network list because this kind
of QR code may refer to a open network or an enhanced open network.

Bug: 124131581
Test: manual
Change-Id: Id9f85ef8dcdf72347be8106938437aecd0eed9f5
2019-04-09 10:36:07 +08:00
Arc Wang
cb1c9fceb8 Play vibration when Wi-Fi QR code scanner recognize a valid QR code
Bug: 127377350
Test: manual
Change-Id: I9bfcb6f4d1d4dee45d2cacdedfc07d2f4eccd758
2019-04-03 10:27:32 +08:00
TreeHugger Robot
76ff2b4291 Merge "Hide Wi-Fi QR code scan button for unsupported Wi-Fi networks" 2019-03-29 08:57:29 +00:00
Arc Wang
dae6c695ca Hide Wi-Fi QR code scan button for unsupported Wi-Fi networks
Wi-Fi QR code scan button only shows for the Wi-Fi network which
supports Wi-Fi Easy Connect or ZXing Wi-Fi config format.

Bug: 128847959
Test: manual
Change-Id: If6460ce88748e7b06893bf62060418a8727d3134
2019-03-29 10:17:44 +08:00
Arc Wang
3f2298c4fd Merge "Fix Wi-Fi Easy Connect QR code scanner problems" 2019-03-29 01:57:35 +00:00
TreeHugger Robot
ade1e095e7 Merge "List reachable access points on top of the list in WifiNetworkListFragment" 2019-03-27 12:17:23 +00:00
Arc Wang
b661549b81 List reachable access points on top of the list in WifiNetworkListFragment
Bug: 128942314
Test: manual
Change-Id: I036bf09c066da3a68d6e2fc4685313ccf16bff03
2019-03-27 15:24:51 +08:00
Arc Wang
8ae9717226 Fix Wi-Fi Easy Connect QR code scanner problems
1. When camera area overlaps display cutout, it's onLayout size is 0/0.
   To fix it, use ConstraintLayout to specify width and height in layout file.

2. When scanned a QR code and there is an error, set camera area frame line
   back to unfocused color.

Bug: 124399763
Test: manual test
Change-Id: I7575efd0ccfb58d114acc3dcca6978d68b801f91
2019-03-26 16:07:02 +08:00
Arc Wang
8a9ccfd8d9 Add a different Wi-Fi Easy Connect entry point
To separate it further from Wi-Fi sharing as it was
causing some confusion.

Bug: 129031195
Test: manual test
Change-Id: Ia55e3ed91e92c3ec36ae6a9401897c5c960762da
2019-03-26 09:55:38 +08:00
Arc Wang
7599de43f7 Check if enrolled Wi-Fi network is reachable in WifiManager#connect onSuccess callback
WifiManager#connect may callback onSuccess even if the Wi-Fi network is not reachable,
it confuses users.

In onSuccess callback, if the Wi-Fi network is unreachable, shows error message.

Bug: 127980127
Test: manual test
Change-Id: I503d6c77c1f1fcab3a1240d904f1c60aaef63aa1
2019-03-22 10:48:27 +08:00
Arc Wang
abfd8ab726 Improve Wi-Fi Easy Connect lock screen UI information
1. Change lock screen title and remove description
2. In QR code generator screen, change summary and show password under QR code picture

Bug: 128920152
Bug: 128576809
Test: manual test
Change-Id: Id096d7f417308df14ffe50c618644750aa991df8
2019-03-21 14:09:22 +08:00
Arc Wang
d0ceb83c95 Improve UX of WifiDppChooseSavedWifiNetworkFragment
In WifiDppChooseSavedWifiNetworkFragment, it does not show the saved Wi-Fi
network which is not reachable, users may be confused about why their saved
Wi-Fi network not on the list. This change shows saved networks regardless
of signal reachable or not.

Fix WifiDppChooseSavedWifiNetworkFragment UI overlap problem, remove redundant
ScrollView and adjust ConstraintLayout parameters.

Bug: 124129645
Test: manual test
Change-Id: I86637e8722bb8f40a3b995a617dc1e22b2ae324a
2019-03-20 10:06:40 +08:00
Arc Wang
70e3580f5d Fix [a11y] Wi-Fi Easy Connect Talkback issues
1. Remove android:contentDescription from ButtonPreference layout file
   'wifi_button_preference_widget.xml' because it should be a more
   general purpose component. Add ButtonPreference#setButtonContentDescription
   for this change.
2. Add a LinearLayout to group title & summary for better Talkback UX
3. Set android:contentDescription for Wi-Fi enrollee scan button
4. setTitle for Talkback actionbar back button of WifiDppQrCodeGeneratorFragment &
   WifiDppQrCodeScannerFragment
5. Auto trigger Talkback to speak title & summary in WifiDppAddDeviceFragment &
   WifiDppChooseSavedWifiNetworkFragment
6. Auto trigger Talkback to speak summary change in WifiDppAddDeviceFragment
7. Auto trigger Talkback to speak error message in WifiDppQrCodeScannerFragment

Bug: 126007405
Bug: 124424996
Bug: 124424445
Test: manual test

Change-Id: I54a3f033bb8871c47be12115ae8f97691fd83302
2019-03-08 12:05:50 +08:00
Arc Wang
b249fb7d13 Support to share Wi-Fi hotspot via QR code
1. QR code scanner (Wi-Fi Easy Connect) does not support sharing Wi-Fi hotspot
   at current stage
2. Wi-Fi hotspot QR code button only shows when Wi-Fi hotspot is enabled
3. The QR code has the security string "WPA" for hotspot's WPA2_PSK

Bug: 123151660
Test: atest WifiTetherSSIDPreferenceControllerTest
            WifiQrCodeTest WifiDppConfiguratorActivityTest
            WifiDppEnrolleeActivityTest
            WifiDppQrCodeGeneratorFragmentTest
            WifiDppQrCodeScannerFragmentTest
            WifiNetworkListFragmentTest
            WifiDppChooseSavedWifiNetworkFragmentTest

Change-Id: I2e89450180b82cc841ee3b15be52bfc6f9f6164d
2019-03-08 11:48:12 +08:00
TreeHugger Robot
0fa2651d3f Merge "Change Easy Connect intent naming" 2019-03-03 16:17:33 +00:00
TreeHugger Robot
6e245f4736 Merge "Fix Settings crash after clicking 'Share Wi-Fi' button" 2019-02-27 07:06:38 +00:00
Arc Wang
730a6c0f5e 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
2019-02-27 11:33:43 +08:00
Arc Wang
c1036df9b8 Change Easy Connect intent naming
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
2019-02-27 10:06:04 +08:00
TreeHugger Robot
6dcb6a35c3 Merge "Update strings for Wi-Fi DPP handshake running state" 2019-02-26 07:15:27 +00:00