Commit Graph

2417 Commits

Author SHA1 Message Date
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
Arc Wang
205b585cf3 [Wi-Fi] Show not show Wi-Fi edit UI for never connected open Wi-Fi networks
When users click a Wi-Fi network and it's
WifiConfiguration.getNetworkSelectionStatus().hasEverConnected()
is false, WifiSettings2 will launch the Wi-Fi edit UI for users
to edit password again.
It's not necessary to show the Wi-Fi edit UI if the Wi-Fi network
is a open network.

Bug: 154548505
Test: manual
      Click a never connected secure Wi-Fi and edit UI shows.
      Click a never connected open Wi-Fi and edit UI does not show.
Change-Id: Ie8489aff001942f92fbfaafd772f84b1b4a09cf4
2020-04-21 16:04:03 +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
Pavel Grafov
25054ba36d Stop disabling wifi toggle when tethering is restricted
When an admin disallows the user from configuring tethering, the
user should still be able to configure wifi.
When an admin disallows wifi configuration, the behavior is
unchanged: the toggle stays enabled and allows the user to turn
wifi on and off, but clicking on the text results in admin
transparency dialog, so the user won't be able to change wifi
config.

Bug: 149481093
Test: manual with TestDPC as the device owner
Change-Id: I6b33e43901454125c7f3f4dd3c70f050997e4e71
2020-04-17 15:06:43 +01:00
Arc Wang
4601d62089 [Wi-Fi] Fix NetworkRequestErrorDialogFragment exception when rotation
When rotating an androidx fragment, it uses default constructor
to instantiate the new fragment instance. Every androidx fragment
should not set private scope to it's default constructor.

Bug: 153824549
Test: make RunSettingsRoboTests ROBOTEST_FILTER=NetworkRequestErrorDialogFragmentTest
Change-Id: Ie1be0e033aa85d37cb4d85193b05beab72d4d8e7
2020-04-13 14:59:49 +08:00
TreeHugger Robot
6e50dfc6ec Merge "[Settings] Add more owner" into rvc-dev 2020-04-10 08:08:30 +00:00
Arc Wang
57ff6599e7 Merge "[Wi-Fi] Fix Hidden network option scrolls to bottom problem" into rvc-dev 2020-04-10 07:50:49 +00:00
Arc Wang
d004dfc4b3 [Wi-Fi] Fix Hidden network option scrolls to bottom problem
Should not scroll to bottom since Hidden network option
is not at the bottom most.

Bug: 148036155
Test: manual
      Wi-Fi Setings -> Add network -> Advanced options ->
      click 'Hidden network' Yes -> should not scroll to bottom.
Change-Id: I6511f75441ebad62e2c28df76a39d702d78898a6
2020-04-10 13:19:30 +08:00
Bonian Chen
ce92b0efb7 [Settings] Add more owner
Add more owner for code review.

Bug: 0
Test: none
Change-Id: Idf49638e4599b95fe39fe127e5b965cf724f5d7c
2020-04-10 13:13:08 +08:00
Arc Wang
0713c43bbb Merge "[A11Y][Wi-Fi] Fix multiple Spinner selected speak out at once." into rvc-dev 2020-04-10 02:25:50 +00:00
Arc Wang
98c17ee49f [A11Y][Wi-Fi] Fix multiple Spinner selected speak out at once.
When users select edit a Wi-Fi and select enterprise security,
there are multiple spinner shows with a default value.
This change does not allow TalkBack to speak out for multiple
Spinner text at one user selection.

Bug: 153272108
Test: manual
      Wi-Fi Settings -> Add network -> Security spinner
      -> WPA/WPA2/WPA3-Enterprise
      TalkBack should only speak out for the Security spinner.
Change-Id: Id9ab44e4da6d7abb5168e0ab7441ee1e226f5f68
2020-04-09 15:22:26 +08:00
Goven Liu
5a8e9e452a Merge "[Wi-Fi] Use getUriHelpString() result to judge if Settings APP should register the help button click event and file related intent if need." into rvc-dev 2020-04-08 22:37:35 +00:00
TreeHugger Robot
1e49ff8ba7 Merge "[Wi-Fi] Fix TalkBack focus lost in SavedAccessPointsWifiSettings2" into rvc-dev 2020-04-08 07:23:53 +00:00
govenliu
a82d2c8a88 [Wi-Fi] Use getUriHelpString() result to judge if Settings APP should register the help button click event and file related intent if need.
The Openroaming help button should show only when the getHelpUriString() value is not null, and need to handle the click event in Settings APP.

Bug: 146669261
Test: Adjust unit test cases:
      1. make RunSettingsRoboTests ROBOTEST_FILTER=WifiEntryPreferenceTest
      2. make RunSettingsRoboTests ROBOTEST_FILTER=WifiSettings2Test
Change-Id: I27a717c3014b01cc464908bac56f64bd08aa5da3
2020-04-08 13:41:15 +08:00
Arc Wang
067757f8d9 [Wi-Fi] Fix TalkBack focus lost in SavedAccessPointsWifiSettings2
PreferenceGroup in a controller is not in a RecyclerView,
TalkBack loses focus after PreferenceGroup#removeAll.

To fix it, only add/remove the preference if it's necessary.

Bug: 153278854
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SavedAccessPointsPreferenceController2Test
Change-Id: Ie9ad5481c33865dce2b7db04d0f969b1f49b80e1
2020-04-08 11:58:27 +08:00
Joshua Duong
2a85924977 [a11y] Set focus on "Pairing device" text once QR code is scanned.
Bug: 152462657

Test: Manual. Enable TalkBack in Settings > Accessibility. Navigate to
Developer options > Wireless debugging > Pairing device with QR code.
Scan a valid QR code, which should change to "Pairing device..." and
screen reader should say "Pairing device".

Change-Id: If467b56f787bda765fce1e5d46f8ab3c6210dc76
(cherry picked from commit 07ad841e2d)
Exempt-From-Owner-Approval: cherry-pick
2020-04-07 18:06:25 +00:00
Arc Wang
c707a93d00 Merge "[Wi-Fi] Index Wi-Fi preferences." into rvc-dev 2020-04-07 07:16:26 +00:00
TreeHugger Robot
8efea18ca2 Merge "[Wi-Fi] Fix EntityHeader signal strength icon invisible problem" into rvc-dev 2020-04-06 11:29:05 +00:00
Arc Wang
62e3a8276e [Wi-Fi] Fix EntityHeader signal strength icon invisible problem
WifiDetailPreferenceController2#onUpdated() triggers each controller
to displayPreference(PreferenceScreen screen) for visibility
updating. However, WifiDetailPreferenceController2 is a much
complex controller which should controll it's components visibility
by itself.

Bug: 152886237
Test: manual visual
      Observe EntityHeader signal strength icon UI display.
Change-Id: I80a8341ae051f21410070a81e01716eb49d2c8da
2020-04-06 17:24:01 +08:00
Arc Wang
e3199b8c11 Merge "[Wi-Fi] Fix exception when 'Add device' with a Wi-Fi suggestion network" into rvc-dev 2020-04-03 12:52:14 +00:00
Arc Wang
75d6c9fce3 [Wi-Fi] Fix exception when 'Add device' with a Wi-Fi suggestion network
WifiEntry#getWifiConfiguration() may return null when
WifiEntry#isSaved() is true. Use WifiEntry#canEasyConnect()
which checks if WifiEntry#getWifiConfiguration() returns
a non-null value.

Bug: 153029289
Test: manual
      Connect to a WPA2 Wi-Fi network, click 'Add device'
      in Wi-Fi detail page and see if it crashes.
Change-Id: Ia15503eea795fdd54826699828f02c9ff95dcefa
2020-04-02 22:35:30 +08:00
Quang Luong
9cc099ab7e Add null check for config when clicking on wifi picker entry
Null check is needed when getting wifi configuration instead of relying
on isSaved() since isSaved() may be true while getWifiConfiguration() is
null.

Bug: 153029289
Test: manual tapping on suggested entry and verifying no crash
Change-Id: Id487f48bd2079d596ea157920e4709fb8407ee9f
2020-04-01 19:57:46 -07:00
Bonian Chen
54002ca154 Merge "[Settings] Apply WifiCallingQueryImsState" into rvc-dev 2020-03-31 16:09:27 +00:00
TreeHugger Robot
4b45334288 Merge changes Ia96af86c,Ifbe2ac30 into rvc-dev
* changes:
  [Wi-Fi] Wi-Fi picker scrolls to top after a user clicked to connect
  [Wi-Fi] Fix Wi-Fi picker context menu 'Connect' button
2020-03-31 15:01:09 +00:00
Arc Wang
a76669656f [Wi-Fi] Wi-Fi picker scrolls to top after a user clicked to connect
After a connect success callback, Wi-Fi picker scrolls to the connected
Wi-Fi network after it's added in.

Bug: 152576795
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiSettings2
      manual
      Click a Wi-Fi network or it's context menu 'Connect' button
      to connect and see if  UI scroll to the top.
Change-Id: Ia96af86c9ed552324089f97db104975e28f6c1c7
2020-03-31 17:24:54 +08:00
Arc Wang
3bb3808043 [Wi-Fi] Fix Wi-Fi picker context menu 'Connect' button
1. Display the Wi-Fi dialog with MODE_CONNECT.
2. Connect with the WifiConfiguration from
   WifiConfigController2#getConfig() if it's available.

Bug: 152826354
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiSettings2
Change-Id: Ifbe2ac30b1c37c8eab3227ac0561fdd2de5cb706
2020-03-31 17:01:22 +08:00
Bonian Chen
7520adccee [Settings] Apply WifiCallingQueryImsState
Apply design of WifiCallingQueryImsState to source code which accessing
WifiCalling.

Bug:  140542283
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsForSubTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingPreferenceControllerTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSliceHelperTest

Change-Id: I0db966742d63cfe9a1ef4e1b06f6b5c81f681927
2020-03-31 14:40:18 +08:00
Bonian Chen
21475ae6c6 [Settings] Code Refactor
Code refactor in order to support auto testing

Bug:  140542283
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsForSubTest

Change-Id: I2427732435b59d7359a102e0dd56317ac6a024b4
2020-03-31 03:46:45 +00:00
Arc Wang
fd3360d28b [Wi-Fi] Index Wi-Fi preferences.
This is a WifiTracker2 version of partial part of ag/9980423

- Disable the "Saved network" if the access points is empty.
- Disable the "Wifi data usage" if there is no wifi radio.

Bug: 146823365
Test: manual
      Search 'Saved networks' when there is a saved Wi-Fi network
      and when there is no saved Wi-Fi network.
      Search 'data usage' on the device which supports Wi-Fi and
      on the device which does not supports Wi-Fi.
Change-Id: If46e65585f1b272401666f78fd5e3a4cf49bef6e
2020-03-30 21:30:00 +08:00
Bonian Chen
c134ef08d4 [Settings] Replace ImsManager#isWfcEnabledByPlatform()
Replace ImsManager#isWfcEnabledByPlatform().

Bug:  140542283
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsForSubTest
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingSettingsTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingPreferenceControllerTest

Change-Id: I85907efb39aecdb3fb18cacf11ce4510b898edc4
2020-03-30 03:34:01 +00:00
TreeHugger Robot
50aeb48c56 Merge "[Wi-Fi] Refactor WifiConnectionPreferenceController with WifiTrackerLib" into rvc-dev 2020-03-27 14:43:57 +00:00
Arc Wang
ebf8ffd8fd [Wi-Fi] Refactor WifiConnectionPreferenceController with WifiTrackerLib
Bug: 152582093
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiConnectionPreferenceControllerTest
Change-Id: I9c0ab0edf5a8e935a2c1afee865bd04304ae6f0f
2020-03-27 20:34:04 +08:00
TreeHugger Robot
6f16992d3c Merge "[Wi-Fi] Refactor AddAppNetworksFragment to use WifiEntry but not AccessPoint." into rvc-dev 2020-03-26 14:57:44 +00:00