Commit Graph

30 Commits

Author SHA1 Message Date
Weng Su
6c42636cb8 Fix unexpected Wi-Fi hotspot shutdown
- Filter out unnecessary onSwitchChanged callbacks when the switch is
  disabled, which should not be triggered by user input.

- Refine the state handling function to avoid unnecessary
  onSwitchChanged callback.

- Refine the error handling of isHotspotPasswordValid function.

Bug: 227719584
Test: manual test
make RunSettingsRoboTests \
  ROBOTEST_FILTER=WifiTetherSwitchBarControllerTest

Change-Id: If62aaadc8ddb214769b1367d7801b6125bb5377c
2022-04-08 05:35:14 +08:00
Les Lee
3bb2a81042 wifi setting: Add psk length check
Frameworks move psk ascii password length check from API level to
framework internal. Add the check code in Setting side to avoid breaking
the unit test.

Bug: 223513510
Test: atest -c WifiUtilsTest
Change-Id: I7c78eb367fdcbbc11bbb7169ba8f2edc720ad071
2022-03-09 16:28:30 +08:00
Weng Su
a0d4c657c7 [Provider Model] Show "!" icon when Wi-Fi is not validated (panel)
- Screenshot:
  https://screenshot.googleplex.com/BLNcfXiJFnuoT9N

Bug: 185454486
Bug: 185637977
Bug: 186543071
Test: manual test
atest -c ProviderModelSliceTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiSliceTest

Change-Id: Idff6bb8b394db5553cf399d2020aa28d9dedfc74
2021-05-12 10:17:54 +00:00
Bonian Chen
234b698fb2 Revert "[Settings] Support getSystemService(Class<T>)"
This reverts commit d5ccde31a8.

Reason for revert: failure on test cases

Change-Id: I0a179a6ebb5ef1dec566ce6e8facd5f3b82d7c8a
2021-03-30 00:51:15 +00:00
Bonian Chen
d5ccde31a8 [Settings] Support getSystemService(Class<T>)
Add getSystemService(Class<T>) to align the capability with framework
part.

This is a back port from aosp/1639943, aosp/1645152 and aosp/1648047

Bug: 179640862
Test: local
Change-Id: I035db55a71f94000ca35f8d71f03c19208423c73
2021-03-24 00:59:46 +08:00
Weng Su
b9c865b704 Add Hotspot WPA3 Settings
- Add WPA3 SAE security types
  - "WPA3-Personal"
  - "WPA2/WPA3-Personal"

- Verify valid WPA3 password

- Enable QR code scanner for Hotspot WPA3

- Avoid null point exception when settings keyword searching

- Screenshot
  https://screenshot.googleplex.com/B6u54wh8w35Xnyf
  https://screenshot.googleplex.com/8hWHHUTb6UaS9vB

Bug: 167968488
Test: manual test
- atest WifiTetherSecurityPreferenceControllerTest
- atest WifiUtilsTest

Change-Id: I2992040498f8add107a4cce70a92c1c6ee6ab805
2021-01-10 08:38:39 +00:00
bsears
598ab32345 Revert "Add Hotspot WPA3 Settings"
This reverts commit e0062af10c.

Reason for revert: Bug 176569060 - Droidfood blocking crash in Settings app.

Change-Id: Id50c96e8ce704b19e5ffb9b9a9fcbb0db2d81aee
2020-12-31 21:16:51 +00:00
Weng Su
e0062af10c Add Hotspot WPA3 Settings
- Add WPA3 SAE security types
  - "WPA3-Personal"
  - "WPA2/WPA3-Personal"

- Verify valid WPA3 password

- Enable QR code scanner for Hotspot WPA3

- Screenshot
  https://screenshot.googleplex.com/B6u54wh8w35Xnyf
  https://screenshot.googleplex.com/8hWHHUTb6UaS9vB

Bug: 167968488
Test:
- Manual Test
- atest WifiTetherSecurityPreferenceControllerTest
- atest WifiUtilsTest

Change-Id: I155ed0bfd187d27ba864f9fb1b78d08c437740f3
2020-12-29 08:04:10 +00:00
Arc Wang
ae79c41cd7 [Wi-Fi] Fix crash after editing invalid hotspot password
From Android 11, Wi-Fi framework only supports ASCII encoding
for hotspot password, APP should check if password character is
valid.

This change checks if SoftApConfiguration accepts the password
and disable the OK button if the password is invalid.

Bug: 163353576
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiUtilsTest
Change-Id: Ief3c6c1f08f8fcdf128768cde3ab8eef91f19fbe
2020-08-12 14:34:02 +08:00
Arc Wang
166ece8f1d [Wi-Fi] Remove WifiTrackerLib/AccessPoint constant & API usage
Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.dpp
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.details
Change-Id: I857cf0e261c1b07c3d7b6bc08632880ed8c71ee1
2020-07-22 07:53:52 +00:00
Arc Wang
97659b2dfc [Wi-Fi] Apply WifiTrackerLib objects in NetworkRequestDialogFragment
Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: Ie6f63cb8aa81d61bfa41687c73f8c8764cb3cefe
2020-06-19 19:15:42 +08:00
Alex Johnston
d1a31ab6b3 Update Wi-Fi configs restrictions
* Update isNetworkLockedDown in WifiUtils
  to check the profile owner if the device
  is an organization-owned managed profile
  device.
* Update the logic to check if a Wi-Fi
  network can be forgotten (for both the
  device owner and profile owner of an
  organization-owned device).

Bug: 150197944
Bug: 153605361
Test: manual testing
      make RunSettingsRoboTests -j ROBOTEST_FILTER=WifiDetailPreferenceController2Test
      make RunSettingsRoboTests -j ROBOTEST_FILTER=WifiUtilsTest

Manual Testing Steps
A. Provision TestDPC in 'Device Owner' mode.
   - Create a Wi-Fi config in TestDPC.
   - Enable 'DO created Wi-Fi configs are
     modifiable only by DO'.
   - Go to Settings and verify that the network
     created cannot be modified and the 'Forget'
     button is not displayed.
B. Provision TestDPC in 'Profile Owner of an
   organization-owned managed profile' mode.
   - Create a Wi-Fi config in the work profile
     instance of TestDPC.
   - Enable 'DO created Wi-Fi configs are
     modifiable only by DO'.
   - Go to Settings and verify that the network
     created cannot be modified and the 'Forget'
     button is not displayed.
C. Provision CtsVerifier in 'Device Owner' mode.
   - Go to 'Device owner tests' > 'Wifi
     configuration lockdown'.
   - Create a Wi-Fi config then follow the
     instructions.

Change-Id: Ie3c71113441a3aca62563310ad0e53d89fa04226
2020-04-20 12:25:47 +01:00
Hai Shalom
5bb13ebefe [Settings] Use WifiConfiguration#setSecurityParams
Use WifiConfiguration#setSecurityParams instead of manually
initializing security params.

Bug: 150889755
Test: Created new connections and manually connected to open, WPA2,
WPA3, EAP and SUITE-B networks.

Change-Id: I42f4c21a37428ee87be14f6ba09dc54fa327054a
2020-03-09 22:25:56 +00:00
David Su
8de938499e Merge "Rename requirePMF to requirePmf" 2020-02-14 18:27:15 +00:00
David Su
fa6e9f7283 Rename WifiConfiguration.getHasEverConnected()
Renamed to hasEverConnected() to conform to API
guidelines.

Bug: 146046526
Test: make RunSettingsRoboTests -j40
Change-Id: Ie88945326977ea11a05721e40a81c338fee61cb6
2020-01-30 20:36:30 -08:00
David Su
930a4ec30e Rename requirePMF to requirePmf
Rename to conform to API guidelines.

Bug: 146046526
Test: compiles
Change-Id: Ib888ca3fc14cf30c9217b1f573c2279627c65a22
2020-01-27 17:47:15 -08:00
Arc Wang
5f23a43660 [Wi-Fi] Fix transition mode problems
Replace SECURITY_PSK_SAE_TRANSITION & SECURITY_OWE_TRANSITION with
AccessPpoint#isPskSaeTransitionMode() &
AccessPpoint#isPskOweTransitionMode()

Bug: 144320676
Bug: 144320649
Bug: 144325162
Bug: 144321574
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi

Change-Id: Ic3c7ac1238a51b6e215ed63761720d2bc371d012
2019-12-06 18:17:07 +08:00
Hai Shalom
98aa52dbec [OWE] Support OWE in transition mode
Support OWE in transition mode for devices with OWE support
and devices without OWE support. Scan results will return a
new type of network for OWE in transition networks on devices
that support OWE, and Open for devices that don't support OWE.
Handle the case where Open network is manually added to a device
that supports OWE.

Bug: 132139642
Test: Device with OWE: Connect to Open, OWE-Transition, OWE networks
Test: Device without OWE: Connect to Open, OWE-Transition
Test: Manually create Open network, connect to OWE-Transition
Change-Id: I1a584ccbfec8507803c527ea13933cff6f699ccb
2019-05-13 15:37:44 -07:00
Hai Shalom
566101d166 [WPA3] Initialize Suite-B ciphers correctly based on the CA cert type
Initialize Suite-B ciphers correctly based on the CA cert type. Read the
cert type from key store, parse it and get the signature algorithm.
Enforce SHA384, and initialize AllowedSuiteBCiphers based on the
certificate type: RSA or ECSDA.
Wi-Fi alliance requires the use of both ECDSA secp384r1 and RSA 3072
certificates in WPA3-Enterprise 192-bit security networks, which are
also known as Suite-B-192 netowkrs, even though NSA Suite-B-192 mandates
ECDSA only. The use of the term Suite-B was already coined in the
IEEE 802.11-2016 specification for AKM 00-0F-AC but the test plan for
WPA3-Enterprise 192-bit for APs mandates support for both RSA and ECDSA,
and for STAs it mandates ECDSA and optionally RSA. In order to be
compatible with all WPA3-Enterprise 192-bit deployments,

Bug: 128861164
Test: Verify Suite-B initialized correctly with RSA and ECDSA certs.
Test: Associate to SUITE_B_192 AP with RSA certificate
Test: Associate to SUITE_B_192 AP with ECDSA certificate
Change-Id: I5e8b6794e68ed3af5f8c8beac622fff8076a46a1
2019-03-25 14:40:59 -07:00
Jason Chiu
da2ca2f092 Connect to network while clicking open or saved networks on slice
Test: make RunSettingsRoboTests -j
Fixes: 121342770
Change-Id: I0ffb925628dd271d054f990b9b176eb10372e6a3
2019-01-30 16:15:41 +08:00
Hai Shalom
b5c286a4a4 [WPA3] Rename allowedGroupMgmtCiphers to allowedGroupManagementCiphers
Following API Council review:
Rename allowedGroupMgmtCiphers to allowedGroupManagementCiphers in all instances
in order to be consistend with existing members.

Bug: 122616519
Test: atest com.android.server.wifi
Change-Id: I42496a0c9fa1034beffd9b05eeafd2f0a75eb1a8
2019-01-10 12:42:46 -08:00
cosmohsieh
64b894f81d Implement getConfig() method to get WifiConfiguration
Make a duplicated function of WifiConfigController.getConfig(). This
function could get a new WifiConfiguration from input AccessPoint or
ScanResult.
Should be removed if there is standard one in framework.

Bug: 120827021
Test: RunSettingsRoboTests

Change-Id: Ia5981e8d41f434c097b464a2bfe18e1356f7b087
2018-12-14 09:54:34 +00:00
Fan Zhang
b6584d0a5a Check wifi password length by byte, not char.
Change-Id: Ie6dc441780660c52ff01a2bced79a4e95200d731
Fixes: 79209073
Test: robotest
2018-06-08 13:18:07 -07:00
Salvador Martinez
f3d532f43d Make user explicitly set security type for tether network
This was made implicit which is confusing for the user so this CL
adds a preference to make the user manually choose their security
type.

Test: robotests
Bug: 79435112
Change-Id: Ie78806e8952b52e1b7cd21f0b87c9d064acaff64
2018-05-18 15:21:07 -07:00
HJ ChangLiao
5693be2863 Replace PackageManagerWrapper with PackageManager
Replace all SettingsLib/PackageManagerWrapper in Settings,
by PackageManager,
Remove ShadowPackageManagerWrapper.

Bug: 62067063
Test: make RunSettingsRoboTests
Change-Id: I6d1af55c13d80c1907b98b21e0207cc903cd9b1f
2018-04-24 15:12:31 +08:00
Salvador Martinez
670a3e582f Make it possible to have open tether network
Previously people could have open tether networks but a restrction
was placed on this sometime in the past. However there is no migration
plan in place for people with open tether networks which will cause
problems when the new requirements are enforced. This CL makes it
so tether networks can be open once more.

Test: robotests
Bug: 65784990
Change-Id: I6e350dd53b9b9f987dd5a4cc317ba18d7f50df79
2018-04-09 11:30:37 -07:00
Fan Zhang
aab36de0d6 Remove wrapper for device policy manager
Bug: 76167422
Test: robotests
Change-Id: I69dc7341cf1ff408bc24c2a062586cef25b7b918
2018-03-30 20:44:20 -07:00
Adam Newman
c6b4f3d92c Enable launching captive portal directly
Whenever a user has connected to a captive portal network, split the
ConnectedAccessPointPreference to allow directly signing into the
captive portal or modifying the network's settings. When in any other
network state, use the old behavior of a single tappable preference that
takes the user to settings.

Bug: 63929546
Bug: 68031656
Test: make RunSettingsRoboTests
Test: manual by connecting to Captive Portal and normal WiFi networks.

Change-Id: I444202a12138d90c94bda94945c121c8c0810536
(cherry picked from commit 7577624db7)
2018-03-15 21:05:25 +00:00
Pavel Grafov
d429225640 Block editing of locked down wifi network from details page.
Test: make ROBOTEST_FILTER=WifiDetailPreferenceControllerTest RunSettingsRoboTests
Bug: 68990370
Change-Id: Idceb064486afd93bc8b2f52d605a788520de8e56
2017-11-17 18:11:25 +00:00
Fan Zhang
78d5efdfea Refactor hotspot into a full page
- Deprecated WifiAPEnabler, and copied most of its logic into various
  controllers and WifiTetherSettings.
- Added tests

Fix: 37253404
Fix: 36181835

Test: make RunSettingsRoboTests
Change-Id: Iad994d61b694ad7f1113d045a3e7500eeaec178b
2017-06-14 12:32:44 -07:00