Commit Graph

72 Commits

Author SHA1 Message Date
changbetty
e7d468f658 Fix a NPE when forget wifi network
To prevent the null activity. If activity is null, there is no need to
execute.

Bug: 184154325
Test: manual test
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiDetailPreferenceController2Test
Change-Id: I0dc32e7ea2a0d5a3f2a55ad8936578ed9fadd201
2021-05-04 22:26:51 +08:00
TreeHugger Robot
feb811053f Merge "Modify Wi-Fi network details settings to restricted style" into sc-dev 2021-04-12 02:15:52 +00:00
Weng Su
688fa772b9 Modify Wi-Fi network details settings to restricted style
- Show restricted text in guest mode

- Screenshot:
  https://screenshot.googleplex.com/Q5tbzn67EJigpVJ

Bug: 177573895
Test: manual test
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiNetworkDetailsFragment2Test

Change-Id: I64c8d82518d47c7f96802f505efa380c63b9e10c
2021-04-09 23:10:24 +08:00
Wesley.CW Wang
50f314e45d Update StringUtil#formatElapsedTime method (2/3)
- Update the usage and the test case
 - Update discharging string to follow new string doc

Bug: 183689347
Test: make RunSettingsRoboTests
Change-Id: I1e14e7da8cb02755d8cf6e12626a0d94fad87121
2021-04-07 10:19:10 +00:00
Bonian Chen
fecfb7f5e4 Merge "Revert "[Settings] Support getSystemService(Class<T>)"" into sc-dev 2021-03-30 05:31:52 +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
changbetty
8fcb1f5974 Display WiFi Version number
- Display these type and hide the item in other case
   WIFI_STANDARD_11AX(6) WiFi 6
   WIFI_STANDARD_11AC(5) WiFi 5
   WIFI_STANDARD_11N (4) WiFi 4

-Screenshot
 https://photos.app.goo.gl/BbyZEQFyganEPfuw8

Bug: 117216087
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiDetailPreferenceController2Test

Change-Id: Ic360e501d2e3bd80ce3bcb3ddf529ec5d00c1bcc
2021-03-25 17:29:31 +08: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
TreeHugger Robot
8bdbdf4b91 Merge "Hide edit menu if network is uneditable" into sc-dev 2021-03-22 01:53:59 +00:00
Chiachang Wang
003e27d146 Remove hidden connectivity methods access
This commit resolves the hidden methods accesses for
LinkProperties, IpConfiguration and RouteInfo with atlernative
way for the connectivity mainline module preparation.

Bug: 172183305
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.wifi.details2.WifiDetailPreferenceController2Test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.UtilsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.wifi.WifiConfigController2Test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.wifi.WifiConfigController2Test

Change-Id: Iec4dab5d9fa12dedcf69a1cfe2a8be0956bc0d79
2021-03-18 14:31:28 +00:00
Weng Su
b7dbd3a911 Hide edit menu if network is uneditable
- Screenshot:
  https://screenshot.googleplex.com/3BhZRBrmQXjeaGL

Bug: 161896161
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiNetworkDetailsFragment2Test

Change-Id: I47ea2cf19e178eff48f23e56903d0daa4ef8fa28
2021-03-18 17:35:25 +08:00
Janis Danisevskis
5cef487b4b resolve merge conflicts of d42d9a41f6 to sc-dev
Change-Id: Ifa6a4af09d7cd45773a8c057416ab90fac23061e
2021-03-17 19:09:29 +00:00
Bonian Chen
203f0fe89d [Settings] Code refactor - remove unused import lines
Remove some unused import lines within source code based on
https://source.android.com/setup/contribute/code-style

Bug: 182867979
Test: build pass
Change-Id: I76dbcfa9e5b435b2838401dfee15b12f472d07d0
2021-03-16 10:24:24 +00:00
Chiachang Wang
12eadd2133 Merge "Replace subnet mask calculation to Inet4AddressUtils" am: 78b260f5fe
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1579987

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I86fde55123d8f7e28c6ed6c37cd6c05373920684
2021-02-24 01:18:05 +00:00
Chiachang Wang
2fe30b6403 Merge "Replace NetworkUtils methods" am: 3dd1c29aee
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1571848

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4419b7cc320726dbac4c324f6ce5c42434322fc7
2021-02-24 00:16:42 +00:00
Chiachang Wang
eb20f4b06f Replace subnet mask calculation to Inet4AddressUtils
There is existing helper method in Inet4AddressUtils to calculate
the subnet mask from IPv4 prefix calculation. Replace the
implementation in caller side to simplify design in callers.

Bug: 172183305
Test: atest SettingsRoboTests
Test: Verify the method return the same value
Change-Id: I38d7d09be612fa4788cf4052bf304d17f0ae79f4
Merged-In: I38d7d09be612fa4788cf4052bf304d17f0ae79f4
2021-02-23 03:09:11 +00:00
Chiachang Wang
17a8eacab4 Replace subnet mask calculation to Inet4AddressUtils
There is existing helper method in Inet4AddressUtils to calculate
the subnet mask from IPv4 prefix calculation. Replace the
implementation in caller side to simplify design in callers.

Bug: 172183305
Test: atest SettingsRoboTests
Test: Verify the method return the same value
Change-Id: I38d7d09be612fa4788cf4052bf304d17f0ae79f4
2021-02-23 03:05:51 +00:00
Chiachang Wang
0f40c023f6 Replace NetworkUtils methods
NetworkUtils is moved to connectivity mainline module which is
not accessible for module outside. getNetworkPart() method is
used by wifi lib and Settings but no usage inside the module,
so move the method to framework lib to share with wifi lib and
Settings.

Also, NetworkUtils.numericToInetAddress() method is also hidden
and deprecated. It should be replaced by
InetAddresses.parseNumericAddress().

Update the corresponding usage to refer to these methods.

Bug: 172183305
Test: atest SettingsRoboTests
Change-Id: I8240b1c74b53d5d66850d9a3ec7d5e5c11558e6a
Merged-In: I2fb674e0d7da0b11ba70177853fd6259bce372a3
2021-02-22 15:35:17 +08:00
Chiachang Wang
384b88e3fb Replace NetworkUtils methods
NetworkUtils is moved to connectivity mainline module which is
not accessible for module outside. getNetworkPart() method is
used by wifi lib and Settings but no usage inside the module,
so move the method to framework lib to share with wifi lib and
Settings.

Also, NetworkUtils.numericToInetAddress() method is also hidden
and deprecated. It should be replaced by
InetAddresses.parseNumericAddress().

Update the corresponding usage to refer to these methods.

Bug: 172183305
Test: atest SettingsRoboTests
Change-Id: I2fb674e0d7da0b11ba70177853fd6259bce372a3
2021-02-04 02:14:17 +00:00
Jeremy Goldman
9d87cd9126 SubscriptionsPreferenceController shows the unique sim description.
Bug: 148303118
Bug: 150370656
Test: atest -c SubscriptionsPreferenceControllerTest
Change-Id: I041536fe0148087a068c6000383b382b0ff4e17c
2021-01-22 07:02:52 +00:00
Steven Liu
c1477650c9 Introduce a WifiTrackerLibProvider.
This make the WifiTrackerLib can be customized.

Bug: 149540986
Test: manual test wifi picker, and atest com.android.settings
Change-Id: I1418ae39c895ce2ff87f18005a226a4835f9e083
2021-01-06 08:44:34 -08:00
Weng Su
f914e34d28 Fix the Wi-Fi detailed settings un-editable issue.
- The WifiEntry info might not be ready in early stage. (ex:
WifiEntry#canSetPrivacy())

- The Wi-Fi detailed setting listens to the WifiEntry callback to
refresh the preferences, it should first update the preference status to
be editable or not, and then display preferences to the UI.

- The privicy preference should be able to set back to selectable when
WifiEntry#canSetPrivicy() change from false to true.

Bug: 170148009
Test:
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiNetworkDetailsFragment2Test
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiPrivacyPreferenceController2Test

Change-Id: I48ca060e6b468232f19c82e9de0ce4fce39cba7f
Merged-In: I567b2b80163631a01d165c0ac5c0aba392e014ef
2020-10-21 16:39:58 +00:00
Weng Su
3a45d054eb Fix the Wi-Fi detailed settings un-editable issue.
- The WifiEntry info might not be ready in early stage. (ex:
WifiEntry#canSetPrivacy())

- The Wi-Fi detailed setting listens to the WifiEntry callback to
refresh the preferences, it should first update the preference status to
be editable or not, and then display preferences to the UI.

- The privicy preference should be able to set back to selectable when
WifiEntry#canSetPrivicy() change from false to true.

Bug: 170148009
Test:
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiNetworkDetailsFragment2Test
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiPrivacyPreferenceController2Test

Change-Id: I567b2b80163631a01d165c0ac5c0aba392e014ef
2020-10-21 04:30:09 +08:00
TreeHugger Robot
886fe1e6ab Merge "Revert "Modify the privacy controller to be selectable in the next updateState()"" 2020-10-20 03:20:36 +00:00
Weng Su
67f95bfd2f Revert "Modify the privacy controller to be selectable in the next updateState()"
This reverts commit f71149911b.

Reason for revert: Some unexpected code mixed in this CL.

Change-Id: I43574314554a9c62559f529e45f69c29ba6b5a77
2020-10-20 02:12:28 +00:00
Weng Su
2e49b2e639 Merge "Modify the privacy controller to be selectable in the next updateState()" 2020-10-19 09:51:23 +00:00
Weng Su
f71149911b Modify the privacy controller to be selectable in the next updateState()
Listen WifiEntry#onUpdated() to update preference states will be modify
in next CLs.

Bug: 170148009
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiPrivacyPreferenceController2Test
Change-Id: I5acf096970431a0b093dd7e0968f30c1959e3b7f
2020-10-19 14:37:03 +08:00
xshu
19eabbff63 Add randomized MAC (last used)
Makes it clear that when a network is disconnected, the randomized MAC
address shown is the last used one. (ie. it could change in the next
connection depending on whether enhanced MAC randomization is active)

Bug: 170166681
Test: Manually verified that the new text is shown for disconnected
networks.

Change-Id: I4aec47b2de68c077e6fdc7efa96d39e6666d4c86
2020-10-07 14:20:16 -07:00
Quang Luong
77e32049bd Merge "[Wi-Fi] Show Pie+x Wi-Fi icon when a connected Wi-Fi is not default route" into rvc-qpr-dev am: db667a8971 am: 8704114f02
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12444567

Change-Id: I95ac03dcb6a45fbc8c71aae0d7c9fcae20f36ff2
2020-09-11 23:50:57 +00:00
Arc Wang
20680c254c [Wi-Fi] Show Pie+x Wi-Fi icon when a connected Wi-Fi is not default route
This change shows Pie+x Wi-Fi icon in Wi-Fi Details for a connected Wi-Fi
network which is not the default network when

  1. It's connection speed quality is bad.
  or
  2. It has certain internet connection problem.

Bug: 163627176
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiDetailPreferenceController2Test
      manual visual
Change-Id: I1f102471426a55c7dabd9110afba20f802abedbe
2020-08-28 11:43:55 +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
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
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
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
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
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
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
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
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
b9b09b0474 Disable metered preference in details page if unable to change
Wifi networks that cannot change their metered preference (such as
suggested networks) should have their metered preference in the network
details page greyed out and unselectable.

Bug: 151159939
Test: manual - build and visual verification
Change-Id: I8507cd6f39bed5e32884fbf667dffb3f330d8b56
2020-03-25 17:31:44 -07:00
TreeHugger Robot
56fb482acf Merge "Fix Passpoint network details privacy and ssid" into rvc-dev 2020-03-25 01:04:47 +00:00
Quang Luong
40c4303fb3 Fix Passpoint network details privacy and ssid
Allow changing the privacy setting for Passpoint networks, which are
considered subscriptions but not saved networks. Also use getSsid() for
the SSID pref.

Bug: 70983952
Test: manual build and visual verification
Change-Id: I8a4309421b28bccaf2bd62a23dca8cef133d5af1
2020-03-23 21:11:41 -07:00
Arc Wang
263930d8b4 [Wi-Fi] Fix ignored tests in WifiDetailPreferenceController2Test - I
Some tests are removed because WifiTracerLib listens to most intents
and callbacks to Settings APP, most of the receiving intent tests are
removed.

Bug: 151696220
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiDetailPreferenceController2Test
Change-Id: Id88a5c9276457e329840e72711bd06e51a03dd1f
2020-03-23 09:42:35 +08:00
Arc Wang
b8fb854e98 Merge "[Wi-Fi] Add STA+AP information in Hotspot & tethering footer" into rvc-dev 2020-03-11 04:00:49 +00:00
Quang Luong
bff2347964 Merge "Fix Tx link speed still showing after disconnecting from wifi network" into rvc-dev 2020-03-11 00:31:29 +00:00
Arc Wang
005fe6951c [Wi-Fi] Add STA+AP information in Hotspot & tethering footer
Use WifiManager#isStaApConcurrencySupported() to check if a
device supports STA+AP and shows the footer information.

Bug: 121328949
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherFooterPreferenceControllerTest
Change-Id: I3446abb5cc9cdf76da8d17f5de31bd65715c165c
2020-03-10 18:15:13 +08:00
Quang Luong
d0a22bd699 Fix Tx link speed still showing after disconnecting from wifi network
Make sure the tx link speed preference in the Network Details page
disappears when the network is disconnected.

Bug: 151126855
Test: manually going to network details page and disconnecting and
verifying that the link speed disappears.

Change-Id: I3dfd66085db987535c201d38961e4bca709752c9
2020-03-10 00:09:52 -07:00
govenliu
a22a457750 [Wi-Fi] Apply WifiEntry onUpdate to support refresh WiFi detail page for OpenRoaming feature.
Issue: The preference UIs status didn't chage dynamically.
Solution: update the preference UI status when onUpdated is called.

Bug: 146669261
Test: 1.manually mofidy framework to test.
      2.The getAvailabilityStatus() already tested in
      WifiSubscriptionDetailPreferenceController2Test.
Change-Id: I51b5e67df7998d7d3e9ede9ead7aa49ad574c7a3
2020-03-03 17:26:46 +08:00
govenliu
7d8d8d3400 [Wi-Fi] Apply new mock for supporting WiFi detail page for OpenRoaming feature.
Issue: Openroaming detail page have new UI Mock.
Solution: Apply the mock design to rollback previous UI and add one Subcription preference.

Bug: 146669261
Test: manually push API and check.
Change-Id: Ie3243c9bcd371db1909834ef257c741454abec11
2020-02-24 15:40:23 +08:00