Commit Graph

2449 Commits

Author SHA1 Message Date
Jason Chiu
4113bf12d0 [DO NOT MERGE] Update contextual cards display mechanism am: b824187524
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12343226

Change-Id: Iaf3bcd4f531d7a82aa78c5eba12b44192e3b7df8
2020-08-15 02:08:43 +00:00
Jason Chiu
b824187524 [DO NOT MERGE] Update contextual cards display mechanism
1. Make Wi-Fi card default to collapse.
2. Support showing a default card when there's no displayable card.
3. Solve the problem of icon not showing for cached slices in card
renderer

Bug: 163288869
Fixes: 159092915
Test: manual, robotest
Change-Id: Ie8b61ad58410337334e29b7a794353b0c6a6ba8c
2020-08-13 17:58:55 +08:00
Arc Wang
b432cf293c [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: Icf3b5c85856906e4cbe2f0ad79583c1b7182b8c7
Merged-In: Ief3c6c1f08f8fcdf128768cde3ab8eef91f19fbe
2020-08-12 14:29:30 +08: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
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
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
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
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
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
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
15d4970c9d Merge "Stop expecting WifiConfig extra from CONFIGURED_NETWORKS_CHANGED_ACTION broadcast" into rvc-dev 2020-06-23 03:06:39 +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
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
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
Mark Chien
2aa2b0a2f8 Merge "Replace ConnectivityManager as TetheringManager" into rvc-dev 2020-06-15 06:23:28 +00:00
Mark Chien
49b74e24d6 Merge "Remove schedule recheck logic from TetherService" into rvc-dev 2020-06-15 06:23:11 +00:00
TreeHugger Robot
eac45c6a89 Merge "NetworkRequestDialog: Exit the dialog on connect failure" into rvc-dev 2020-06-15 02:52:27 +00:00
Roshan Pius
924e9e39c1 NetworkRequestDialog: Exit the dialog on connect failure
Connection failure (similar to connection success) is the end of the
processng of a request. We should dismiss the dialog on connection
failure.

Bug: 158844146
Bug: 158616070
Test: Manual tests - Simulate connection failure and ensure that the
dialog vanishes with a toast.

Change-Id: I625ca76298ed549dbed76d398aea0c957c9102fc
Merged-In: I625ca76298ed549dbed76d398aea0c957c9102fc
2020-06-14 15:19:30 +00:00
markchien
17feecffae Replace ConnectivityManager as TetheringManager
Tethering APIs are all move to TetheringManager from Android R.
1. Replace ConnectivityManager tethering API usage as TetheringManager.
2. Use TetheringManager#stopTethering to disable usb tethering instead
of using deprecated ConnectivityService#setUsbTethering
3. Use TetheringManager#stopTethering to disable bluetooth tethering
instead of directly use BluetoothPan#setBlueoothTethering. So bluetooth
getProfileProxy is not needed in TetherService because tethering would
do that when calling #stopTethering.
4. Also support TETHERING_ETHERNET entitlement check that
TETHERING_ETHERNET is new added from Android R.

Bug: 146918263
Test: atest TetherServiceTest
Change-Id: Id969f29d7210f2ee32719c76439049bbc86cd4f6
2020-06-11 23:36:59 +08:00
markchien
257b9bcdfa Remove schedule recheck logic from TetherService
This change just remove unused code.
Tethering no longer ask TetherService to schedule recheck
(use #EXTRA_SET_ALARM) from Android Q. Intead Tethering
(EntitlementManager) would schedule the recheck by itself.

This change is necessary in order to move the resourcesout
of the framework because TetherService needs to know when
it need to re-run entitlement recheck from framework res
(config_mobile_hotspot_provision_check_period).

Bug: 146918263
Test: atest TetherSerivceTest
Change-Id: Ie45859c19b96d0689c45dd610501fae0506742ff
2020-06-11 23:28:49 +08:00
govenliu
dfdcdf1330 [Wi-Fi] Request focus on input field when config a WiFi network
For better user experience, recover the dialog focus command to get password field focused.

Bug: 158393164
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test
Change-Id: I343a7b43bd1ad2478991051b0bd8ef6082f75dc1
2020-06-10 07:20:40 +00:00
Quang Luong
e9cbf1b698 Create new WifiEntryPreference if WifiEntry object changes
WifiSettings2 should create a new WifiEntryPreference for a cached
WifiEntry key in case the underlying object has changed, so that updates
to the WifiEntry are still being listened to. This may happen
in situations where WifiPickerTracker swaps WifiEntries objects with the same
key in the getWifiEntries() list, such as when handling network
suggestions (which are kept as separate objects from the non-suggestion
entries).

Bug: 157174114
Test: manual visual verification in wifi picker of adding a network
suggestion and seeing the entry summary for that SSID change to the
suggestion summary.

Change-Id: I9cfdae8207ae919e9e1cbf4c200eaa951a229b3f
Merged-In: I48ac11364b06887cc4059bcda863b456e206c9bd
2020-05-21 01:29:56 +00:00
TreeHugger Robot
62b9032b8c Merge "[Wi-Fi] Expose AP Band outside of the Advanced section" into rvc-dev 2020-05-18 06:13:35 +00:00
Arc Wang
b347128bbf [Wi-Fi] Expose AP Band outside of the Advanced section
Design change for UX improvement.

Bug: 156629343
Test: manual visual
Change-Id: I4ff89eec472de699d1fa723d8369ad99b78a83a3
2020-05-18 11:13:47 +08:00
TreeHugger Robot
8224a5ad3d Merge "Update icon tint color when the user toggles Dark theme" into rvc-dev 2020-05-13 09:37:37 +00:00
TreeHugger Robot
02b7b16c93 Merge "[Wi-Fi] Quit worker thread of WifiPickerTracker" into rvc-dev 2020-05-13 04:18:18 +00:00
Arc Wang
a52782bc06 [Wi-Fi] Quit worker thread of WifiPickerTracker
Should quit worker thread when a fragment is about to
be destroyed.

Bug: 152454787
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AddAppNetworksFragmentTest
Change-Id: I809511b7f7c092cf9787e8f6bb7c7513c27c98c8
2020-05-13 10:34:51 +08:00
changbetty
0383d76a5e Add setPackage for PendingIntent in SliceHelper
Bug: 151645867
Bug: 151646375
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiCallingSliceHelperTest
      make RunSettingsRoboTests ROBOTEST_FILTER=Enhanced4gLteSliceHelperTest
Change-Id: I33c1333f9b5472cdb962b272f6be52a2d2959376
Merged-In: I33c1333f9b5472cdb962b272f6be52a2d2959376
2020-05-12 17:56:48 +08:00
Jason Chiu
8ac1e4d49d Update icon tint color when the user toggles Dark theme
- Reload theme in slice provider when Dark theme mode changes for slices
- Reload theme in onCreate of Panel activity for its non-slice header
- Remove applyTheme from individual slices

Test: robotest
Fixes: 153700819
Change-Id: I40a7d2817c4b9100d7b2f2962a69c8a9ce6f7906
2020-05-12 10:58:54 +08:00
govenliu
1e0d40f2bd [Wi-Fi] Enhance Wifi Settings unit test cases.
Add new unit test cases in
1. WifiP2pSettingsTest.java
2. WifiConfigController2Test.java
3. WifiP2PPreferenceControllerTest.java
4. WifiP2pPeerTest.java

the coverage rate of
1. com.android.settings.wifi will raise from 44% to 45%
2. com.android.settings.wifi.P2p will raise from 69% to 85%

Bug: 151696220
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pPeerTest
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2PPreferenceControllerTest
Change-Id: I365494e1654376b23b08f18b1a799ffc59323a4c
2020-05-07 12:13:02 +08:00
TreeHugger Robot
02e712ce42 Merge "Remove Connect/Disconnect button dependence on WifiEntry.isExpired()" into rvc-dev 2020-05-05 12:33:28 +00:00
Arc Wang
032f77052b Merge "[Wi-Fi] Modify NetworkRequestDialog title & summary" into rvc-dev 2020-05-05 01:02:05 +00:00
Arc Wang
7e40584e5d Merge "[Wi-Fi] Enhance com.android.settings.wifi.p2p unit test cases." into rvc-dev 2020-05-01 04:52:30 +00:00
Quang Luong
0ddc3675c4 Remove Connect/Disconnect button dependence on WifiEntry.isExpired()
WifiEntry.canConnect() may be true even if isExpired() is true, such as
in the case of connecting to renew a subscription. Thus, the
connect/disconnect button should only rely on canConnect() and
canDisconnect() (as well as the intermediate state of connecting) to
determine its visibility.

Bug: 150384136
Test: manually install expired passpoint profile and verify if the
connect button is visible and working.

Change-Id: Ibfdf285f3b97fd0de88804d4658df20bd67bf8e0
2020-04-30 20:36:32 -07:00
govenliu
4d74ae2e67 [Wi-Fi] Enhance com.android.settings.wifi.p2p unit test cases.
Add new unit test cases in WifiP2pSettingsTest.java, the coverage rate will raise from 30% to 71%.

Bug: 151696220
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
Change-Id: I214866efae47a99e75178beca48deb398b70f9bd
2020-05-01 09:00:10 +08:00
TreeHugger Robot
c4310e5980 Merge "Add icons to contextual Wi-Fi card header" into rvc-dev 2020-04-30 12:08:54 +00:00
Jason Chiu
509c0119fb Add icons to contextual Wi-Fi card header
Fixes: 149666241
Test: robotest
Change-Id: I67076eb561bc496b272b28dc54bce8845d8d622f
2020-04-30 18:34:33 +08:00
Arc Wang
1efd7878c7 [Wi-Fi] Modify NetworkRequestDialog title & summary
Design change for UX improvement.

Bug: 155348488
Test: manual visual
Change-Id: I07d441f6fda8017cc9f4561ef64d57ff8db86f0f
2020-04-30 15:34:43 +08:00
TreeHugger Robot
4eeb99d63e Merge "[Wi-Fi] Show Wi-Fi editor for authentication failures" into rvc-dev 2020-04-28 14:21:14 +00:00
Yanting Yang
96127fe621 Remove sub-text from slice builder
We would like to remove all sub-text from Settings Search. But slice
view does not support API to configure the sub-text visibility.
Therefore, the only way is to remove the sub-text from slices directly.

Since Settings slices are also invoked by other apps, we can not
directly remove the sub-text.

Finally, we decide to check the caller's uid. If it comes from Settings
Search, we will return the slice without the sub-text.

Bug: 143118037
Test: visual, robotests
Change-Id: Iac72f1683a2c930592634e0599058890d86f669d
2020-04-28 14:15:16 +08:00
Arc Wang
69653f0585 [Wi-Fi] Show Wi-Fi editor for authentication failures
When the Wi-Fi network is disabled because of authentication failures,
Wi-Fi picker should show editor before connecting or the network will
always fail to connect.

Bug: 112137755
Test: atest com.android.wifitrackerlib.StandardWifiEntryTest
Change-Id: I0ae42e7974e6bd2548e7f2595c6ae71a73398030
2020-04-27 19:37:30 +08:00
Arc Wang
b33a59b860 [Wi-Fi] Add object comments for WifiTrackerLib migration
Migrating from Wi-Fi SettingsLib to to WifiTrackerLib, there are
both some Settings files of both version. Developers should
develop on new version files.

Bug: 152571756
Test: compile
Change-Id: I4446e2e333663bf69daa1ceff102775889021851
2020-04-27 14:28:13 +08:00
TreeHugger Robot
0a98937baf Merge "[Wi-Fi] Add IMSI privacy protection warning summary" into rvc-dev 2020-04-24 08:32:55 +00:00
govenliu
d59d32e106 [Wi-Fi] Add new unit test file WifiP2pSettingsTest.java.
Add new unit test file WifiP2pSettingsTest.java.

Bug: 151696220
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
Change-Id: I686658969a801e385a102022c6854d8bb8972d3c
2020-04-24 13:03:09 +08:00
Arc Wang
c6c4d036da [Wi-Fi] Add IMSI privacy protection warning summary
If a SIM based Wi-Fi network is not provided with IMSI
protection, Wi-Fi detail UI shows the warning summary if
the Wi-Fi network is connected.

Bug: 148283447
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiSecondSummaryController2Test
      make RunSettingsRoboTests ROBOTEST_FILTER=LinkifySummaryPreferenceTest

Change-Id: I689a75d2f0a2ae6196b2ed5985b8ff141fbac8b4
2020-04-23 14:50:18 +08:00
Pavel Grafov
9341983324 Merge "Stop disabling wifi toggle when tethering is restricted" into rvc-dev 2020-04-21 10:40:12 +00:00
TreeHugger Robot
8a80769a7e Merge "[Wi-Fi] Show not show Wi-Fi edit UI for never connected open Wi-Fi networks" into rvc-dev 2020-04-21 09:20:52 +00:00