Commit Graph

2507 Commits

Author SHA1 Message Date
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
TreeHugger Robot
2acae9df4a Merge "[Wi-Fi] Support multi-SIM for SIM dependent EAP methods" into rvc-qpr-dev am: edd587c2a6 am: 48d768b00c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12167384

Change-Id: I559cee4b76432f72cab16b926ad7d8a2f87abedc
2020-08-07 12:04:56 +00:00
TreeHugger Robot
edd587c2a6 Merge "[Wi-Fi] Support multi-SIM for SIM dependent EAP methods" into rvc-qpr-dev 2020-08-07 11:37:27 +00:00
Arc Wang
3157be53fc [Wi-Fi] Fix thread leak in WifiConnectionPreferenceController
Stop the worker thread for WifiPickerTracker at onDestroy
event. The event will be triggered when users click back button
at 'Network & internet' page.

Bug: 161659380
Test: manual
      1. Launch Settings 'Network & internet'.
      2. Use below command to observe the thread.
         ps -T SettingsProcessId | grep WifiConnPrefCtr
      3. Click back button and use the command again,
         the thread should not exist.
Change-Id: I9145d534ade168beca52524e7cf85d87e2feb1a0
2020-08-06 14:47:43 +08:00
Arc Wang
b3952b0826 Merge "[Wi-Fi] Remove 'Do not validate' option in CA certificate spinner" 2020-08-01 02:32:08 +00:00
Arc Wang
33cde5dbee [Wi-Fi] Remove 'Do not validate' option in CA certificate spinner
"Do not validate" is not secure and must not be used in any production
network. R Suggestions API already does not allow connections with
no Root CA certificate.

Bug: 162466484
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigControllerTest
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test
      Manually add or edit  an EAP method Wi-Fi network and observe CA
      certificate spinner options.
Change-Id: Ica5ecf8805c51d7cdce7b16e02e0dd79d5f64754
Merged-In: Icf97199967faa2e359b0120a8c989bd1df2c6cea
2020-07-31 10:28:11 +08:00
Arc Wang
8734b131fb Merge "[Wi-Fi] Check if domain field is not empty when users choose a ca certificate" 2020-07-31 02:22:02 +00:00
Arc Wang
94b8579607 [Wi-Fi] Check if domain field is not empty when users choose a ca certificate
Domain is required for client to validate server's certificate.
This change disable Save button for a new Wi-Fi network of a
specified CA certificate but empty domain.

Bug: 161378819
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigControllerTest
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test
      manual
      1. Install a certificate.
      2. Add a new Wi-Fi network of EAP method PEAP
      3. Set CA certificate to the certificate installed at 1.
      4. Save button should be disabled.
      5. Input something in domain field.
      6. Save button should be enabled.
Change-Id: I65c8b29ec7a03b21403ddbfc087ce48c2a4a69e4
2020-07-31 10:06:48 +08:00
Arc Wang
21faffa23c [Wi-Fi] Remove 'Do not validate' option in CA certificate spinner
"Do not validate" is not secure and must not be used in any production
network. R Suggestions API already does not allow connections with
no Root CA certificate.

Bug: 162466484
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigControllerTest
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test
      Manually add or edit  an EAP method Wi-Fi network and observe CA
      certificate spinner options.
Change-Id: Icf97199967faa2e359b0120a8c989bd1df2c6cea
2020-07-31 09:58:20 +08:00
Arc Wang
b42d09f885 Merge "[Wi-Fi] Support multi-SIM for SIM dependent EAP methods" 2020-07-31 00:58:01 +00:00
Arc Wang
8d5c8c2611 [Wi-Fi] Check if domain field is not empty when users choose a ca certificate
Domain is required for client to validate server's certificate.
This change disable Save button for a new Wi-Fi network of a
specified CA certificate but empty domain.

Bug: 161378819
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigControllerTest
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test
      manual
      1. Install a certificate.
      2. Add a new Wi-Fi network of EAP method PEAP
      3. Set CA certificate to the certificate installed at 1.
      4. Save button should be disabled.
      5. Input something in domain field.
      6. Save button should be enabled.
Change-Id: I65c8b29ec7a03b21403ddbfc087ce48c2a4a69e4
2020-07-29 15:13:28 +08:00
Arc Wang
c5c92eb342 [Wi-Fi] Remove the files which use SettingsLib Wi-Fi objects
This change removes

WifiDetailPreferenceController
WifiPrivacyPreferenceController

Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigControllerTest
      Manualy add a Wi-Fi network of randomized MAC and a Wi-Fi network of device MAC
      in SetupWizard, then observe the MAC value in Settings Wi-Fi detail.
Change-Id: I82ef4e1d2c386d8bd751df8ff18c18163a0e9a6a
2020-07-28 17:36:41 +08:00
Arc Wang
2df3a3e7df [Wi-Fi] Support multi-SIM for SIM dependent EAP methods
Before this change, users are not able to choose SIM
card for SIM dependent EAP methods when a device supports
multi-SIM.

This change support to choose a SIM when adding an EAP
Wi-Fi network. And this change support to show the related
SIM information on Wi-Fi detail screen.

Bug: 142792009
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.WifiConfigControllerTest
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.WifiConfigController2Test
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.details2.WifiDetailPreferenceController2Test
      Manually add an EAP Wi-Fi network of EAP-SIM type, observe the
      value in Wi-Fi detail screen.
Change-Id: I2910931166dc6541897663857c46abcc1b3115fa
2020-07-28 10:02:16 +08:00
Arc Wang
e410325b37 [Wi-Fi] Support multi-SIM for SIM dependent EAP methods
Before this change, users are not able to choose SIM
card for SIM dependent EAP methods when a device supports
multi-SIM.

This change support to choose a SIM when adding an EAP
Wi-Fi network. And this change support to show the related
SIM information on Wi-Fi detail screen.

Bug: 142792009
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.WifiConfigController2Test
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.details2.WifiDetailPreferenceController2Test
      Manually add an EAP Wi-Fi network of EAP-SIM type, observe the
      value in Wi-Fi detail screen.
Change-Id: I2910931166dc6541897663857c46abcc1b3115fa
2020-07-28 09:50:58 +08:00
Arc Wang
55bce77aea Revert "[Wi-Fi] Refactor WifiConnectionPreferenceController with WifiTrackerLib"
This reverts commit ebf8ffd8fd.

Reason for revert: b/161659380

Bug: 161659380
Test: manual, observe threads after launching 'Network & internet'.
Change-Id: I28773eac40c6bf194e3410b829a1a7b744f79597
Merged-In: Id4901d632f7f4634461ebbbc096e36d348a33365
2020-07-25 00:51:50 +00:00
Arc Wang
4f9960231b Merge "[Wi-Fi] Remove WifiTrackerLib/AccessPoint constant & API usage" 2020-07-24 03:21:35 +00:00
TreeHugger Robot
bc7c42621b Merge "[Wi-Fi] Remove the files which use SettingsLib Wi-Fi objects" 2020-07-23 08:01:19 +00:00
Arc Wang
6934c0225b Merge "[Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice" 2020-07-23 01:38:08 +00:00
Arc Wang
551dcf08e4 Merge "[Wi-Fi] Support WifiTrackerLib in WifiDialogActivity" 2020-07-23 01:37:47 +00:00
Goven Liu
ac26cd541c Merge "[Wi-Fi] WiFi Settings inclusive language fix plan phase 1" 2020-07-22 11:06:29 +00: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
fef7216ef9 [Wi-Fi] Remove the files which use SettingsLib Wi-Fi objects
This change removes

AddDevicePreferenceController
WifiDetailPreferenceController
WifiMeteredPreferenceController
WifiNetworkDetailsFragment
WifiPrivacyPreferenceController

Bug: 152571756
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: Id4901d632f7f4634461ebbbc096e36d348a33365
2020-07-22 07:53:33 +00:00
Arc Wang
0496d2c142 [Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice
This change uses WifiTrackerLib's WifiPickerTracker & WifiEntry
to replace SettingLib's WifiTracker & AccessPoint.

This change includes

1. WifiScanWorker has the callbacks similar to a lifecycle component
   but it's not a lifecycle component. Let WifiScanWorker implements
   LifecycleOwner and provides #getLifecycle() for WifiPickerTracker.

2. Remove captive portal related code because WifiEntry#connect will
   handle captive portal login if it's necessary.

3. Create WifiSliceItem to wrap WifiEntry because WifiEntry is an
   abstract object and it does not provide copy constructor.
   Without copy construcor, Wi-Fi Slice may show unexpected information
   when a WifiEntry is updated.

Bug: 155613549
Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.slice
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I2d66ea4905daca3244ec4cf8f2935cda817480b1
2020-07-22 07:53:18 +00:00
Arc Wang
e57ead9a75 [Wi-Fi] Support WifiTrackerLib in WifiDialogActivity
After this change, WifiDialogactivity supports both WifiTrackerLib and
SettingsLib because this is an exported UI component, some other APPs
(e.g., SetupWizard) still use SettingsLib.

Bug: 152571756
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi.WifiDialogActivityTest
      manual
      In Wi-Fi Settings, manually add a Wi-Fi network.
      In SetupWizard, manually add a Wi-Fi network.
Change-Id: I87f477d905cc6ea34ef1afbfade3773920dad6eb
2020-07-22 15:50:42 +08:00
govenliu
fec71036f7 [Wi-Fi] WiFi Settings inclusive language fix plan phase 2
Replace WiFi related terms which contain Blacklist,Dummy,Sane or Sanity Check wordings.
Goal: Create a fixit for Android Platform to reduce the use of non-inclusive language for all code.

Bug: 161425297
Test: make RunSettingsRoboTests -j
Change-Id: I1ff89bd2a6636ada1e0f5b9879aecbbd5dab4012
2020-07-22 12:41:01 +08:00
govenliu
b70ddb9df7 [Wi-Fi] WiFi Settings inclusive language fix plan phase 1
Replace WiFi related terms which contain Master wording.
Goal: Create a fixit for Android Platform to reduce the use of non-inclusive language for all code.

Bug: 161425297
Test: make RunSettingsRoboTests -j or
make RunSettingsRoboTests ROBOTEST_FILTER=DashboardFragmentTest
make RunSettingsRoboTests ROBOTEST_FILTER=WirelessDebuggingPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AutomaticStorageManagementSwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=AllInOneTetherPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=TopLevelNetworkEntryPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=PrimarySwitchPreferenceTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiPrimarySwitchPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest

Change-Id: I9395c50e092e124016609f88f7c8151554a0d874
2020-07-21 20:56:22 +08:00
TreeHugger Robot
2432658d23 Merge "Revert "[Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice"" 2020-07-16 15:31:50 +00:00
Greg Kaiser
9e9255fb2a Revert "[Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice"
This reverts commit 7b1aded2a6.

Reason for revert: Settings is crashing for WiFi selection in SetupWizard on wembley

Bug: 161434533
Change-Id: I1d90e9bae1b31862fba674db0d7497e43f987a7f
Test: Locally reverted, reflashed, and was able to select WiFi without Settings crashing.
Exempt-From-Owner-Approval: Revert to clear up P0 while all owners are outside of work hours
2020-07-16 14:47:31 +00:00
Arc Wang
02d279a453 Merge "[Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice" 2020-07-16 09:32:42 +00:00
Arc Wang
7b1aded2a6 [Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice
This change uses WifiTrackerLib's WifiPickerTracker & WifiEntry
to replace SettingLib's WifiTracker & AccessPoint.

This change includes

1. WifiScanWorker has the callbacks similar to a lifecycle component
   but it's not a lifecycle component. Let WifiScanWorker implements
   LifecycleOwner and provides #getLifecycle() for WifiPickerTracker.

2. Remove captive portal related code because WifiEntry#connect will
   handle captive portal login if it's necessary.

3. Create WifiSliceItem to wrap WifiEntry because WifiEntry is an
   abstract object and it does not provide copy constructor.
   Without copy construcor, Wi-Fi Slice may show unexpected information
   when a WifiEntry is updated.

4. Use WifiTrackerLib's NetworkDetailsTracker & WifiEntry in
   WifiDialogActivity because it gets a WifiEntry key from Wi-Fi Slice.
   NetworkDetailsTracker can get the WifiEntry of th key.

Bug: 155613549
Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.slice
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I0718f4647cea007a9b701922f3121a388dd43918
2020-07-16 15:56:42 +08:00
Bonian Chen
a5f08854e3 [Settings] Inclusive language for Data Usage
Change wordings in data usage part into inclusive language.

Bug: 160707804
Test: make RunSettingsRoboTests
Change-Id: I713e52df8201413b884257a51bc1f71a0d43179d
2020-07-15 02:52:32 +00:00
Joshua Duong
c811213dde Merge "[qrcode] Open any available camera if back camera isn't available." into rvc-dev am: 8776749e88 am: d6b68cb328 am: 8917715fca am: c4e8b3822b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12006805

Change-Id: I60a80788887e25d1296bffd3aff200763b6c8678
2020-06-30 02:30:37 +00:00
Joshua Duong
8776749e88 Merge "[qrcode] Open any available camera if back camera isn't available." into rvc-dev 2020-06-30 01:41:14 +00:00
TreeHugger Robot
b5e41012c1 Merge "[Wi-Fi] Fix MAC address title information display bug" into rvc-dev am: 531dbf5358 am: 5412d4ab3e am: e7cb1080aa am: 3c23bbceeb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11970200

Change-Id: I0a6d6dfa09e77cb1ea8969f257a2efdb056d2194
2020-06-29 05:23:46 +00:00
Joshua Duong
d683d25f47 [qrcode] Open any available camera if back camera isn't available.
Bug: 159956551

Test: make RunSettingsRoboTests ROBOTEST_FILTER=QrCameraTest
Change-Id: I2aa01330c8d12c478f8392f66359131638590b77
2020-06-25 22:16:33 -07:00
Arc Wang
cef7d97031 [Wi-Fi] Fix MAC address title information display bug
Use WifiTrackerLib, we can use WifiEntry.getPrivacy()
to get the value for a Passpoint network.

Bug: 159672621
Test: manual visual
      Switch Privacy setting in Wi-Fi detail page, observe
      MAC address title.
Change-Id: I5411e727c5f48dc0d65a05706194569ca3bbebdc
2020-06-23 18:27:51 +08:00
David Su
a218f5791b Merge "Stop expecting WifiConfig extra from CONFIGURED_NETWORKS_CHANGED_ACTION broadcast" into rvc-dev am: 15d4970c9d am: 46a4938667 am: cebaf44767 am: 5f34b2e626
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11923937

Change-Id: I25ab81809581b72754f9d4ab7491a3fcce51738f
2020-06-23 04:03:13 +00:00
David Su
15d4970c9d Merge "Stop expecting WifiConfig extra from CONFIGURED_NETWORKS_CHANGED_ACTION broadcast" into rvc-dev 2020-06-23 03:06:39 +00:00
Arc Wang
fb2b144413 Merge "[Wi-Fi] Apply WifiTrackerLib objects in NetworkRequestDialogFragment" 2020-06-21 14:25:18 +00:00
David Su
a9a7f65a10 Stop expecting WifiConfig extra from CONFIGURED_NETWORKS_CHANGED_ACTION broadcast
WifiConfig is no longer sent in this broadcast
due to privacy concerns, so stop reading this
extra. Instead, query WifiManager to find the
matching WifiConfiguration to update.

Bug: 158874479
Test: make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.wifi.details.WifiDetailPreferenceControllerTest"
Change-Id: Ie52339220acbbe111a6aa5f785fbfa409c405b5b
2020-06-19 11:20:21 -07: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
Mark Chien
b727c6d9af Merge "Get entitlement configuration from intent extra" into rvc-dev am: 481816a97d am: 9b626fce11 am: 56b98ca21e am: 7248e67343
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11524847

Change-Id: Ie8a8cd56a93b19313f87377bf5ba600e66cd6b4e
2020-06-17 07:02:13 +00:00
Mark Chien
481816a97d Merge "Get entitlement configuration from intent extra" into rvc-dev 2020-06-17 06:07:52 +00:00
markchien
e22bd7a2e8 Get entitlement configuration from intent extra
Tethering resource configuration is move from framwork to tethering
module. The resource would not be accessible from outside of tethering
module.
List the replacements of framework resources usage and intent extra:
1. R.string.config_mobile_hotspot_provision_response
    --> android.net.extra.TETHER_PROVISIONING_RESPONSE.
2. R.string.config_mobile_hotspot_provision_app_no_ui
    --> android.net.extra.TETHER_UI_PROVISIONING_APP_NAME
3. R.array.config_mobile_hotspot_provision_app
    --> android.net.extra.TETHER_SILENT_PROVISIONING_ACTION
Besides, the current active subId would put in
android.net.extra.TETHER_SUBID

Note: They are not APIs because of API freeze. Now both tethering module
and Settings define these strings independently. Will replace hard code
string as tethering module-lib APIs in b/159085857.

Also move the entitlement response intent registeration from onCreated
to onStartCommand, this can avoid wrong intent registeration if subId
changed between onCreate and when the intent arrived.

Bug: 146918263
Test: atest TetherServiceTest
      atest TetherProvisioningActivityTest

Change-Id: I3d06df01302a9c1f0893712d9250fe394dc66588
2020-06-17 05:47:17 +00:00
Alex Johnston
ff77ef91f8 Merge "Wifi details - handle no profile owner" into rvc-dev am: dd1d9c4db0 am: ec64a1d562 am: 28e4b34ec7 am: 6f9115072a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11866803

Change-Id: I21c612959a9e408f1abea3175c9daa20bd10767f
2020-06-16 20:31:05 +00:00
Alex Johnston
dd1d9c4db0 Merge "Wifi details - handle no profile owner" into rvc-dev 2020-06-16 19:06:52 +00:00
Alex Johnston
10c970c571 Wifi details - handle no profile owner
* If there is no profile owner, then do
  no call DPM method getProfileOwnerAsUser

Bug: 158284193
Test: manual testing
      make RunSettingsRoboTests -j ROBOTEST_FILTER=WifiDetailPreferenceController2Test
Change-Id: Ief1f0b3aa6805d69fc14da8f87a90c9b12bef8c6
2020-06-16 11:05:33 +01:00
Automerger Merge Worker
b312f2af4b Merge "Merge "Merge "Replace ConnectivityManager as TetheringManager" into rvc-dev am: 2aa2b0a2f8 am: 52a3551a7a" into rvc-d1-dev-plus-aosp am: ac3266b1be" into rvc-qpr-dev-plus-aosp am: 8152e9d40f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11770823

Change-Id: I145def075a545a397ce7e631175a5f4e9ada9330
2020-06-15 07:20:58 +00:00
Mark Chien
75b2a75ccd Merge "Remove schedule recheck logic from TetherService" into rvc-dev am: 49b74e24d6 am: 10ef08d80f am: 78b4bc6020 am: 1912ee3e9a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11524846

Change-Id: I78a0a2d461fd96f2af1850c74d78cd34060e66cc
2020-06-15 07:20:22 +00:00
Mark Chien
2aa2b0a2f8 Merge "Replace ConnectivityManager as TetheringManager" into rvc-dev 2020-06-15 06:23:28 +00:00