Currently, these are implemented with DropDownPreference, which keeps
disappearing after opening. This is because this page is special, many
other preferences on this page auto refreshed every some seconds,
causing the container RecyclerView to re-render (and a scrollbar is
displayed when re-render happens). This re-renders cause the drop downs
to auto dismiss.
Use ListPreference instead can solve this issue, because
DropDownPreference is extended from ListPreference, this is simple
change.
Fix: 209799515
Test: manual
Change-Id: Ib098922c39d9d6c56d645f12f5884489ea6688be
Display string for Wifi band is now available via
WifiEntry.getBandString(), so use this for the Frequency preference in
the Network Details page. This API also allows the band string to be
shown for disconnected but in-range networks.
Bug: 190390803
Test: manually verify Frequency preference is populated in Network
Details page for both connected and disconnected but in-range networks.
Change-Id: I83bec35c659a9ba04964675e3d800f1dd051d155
- Updated to use the AllNetworkKeys set instead of NetworkId.
- Fix crash issue when mDataUsageController is not created.
- See b/126299427#comment37 for a screenshot.
Bug: 126299427
Test: manual test
make RunSettingsRoboTests
ROBOTEST_FILTER=DataUsageSummaryPreferenceControllerTest
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiDetailPreferenceController2Test
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiDataUsageSummaryPreferenceControllerTest
Change-Id: I26289fde1f18d97631448edc71e034d33b865cc4
- Need to export the interface to Quick Settings to launch Wi-Fi Network
details settings.
- Rename WifiNetworkDetailsFragment.class
Bug: 191475923
Test: manual test with the topic CLs.
make RunSettingsRoboTests
atest -c SettingsUnitTests:com.android.settings.wifi \
SettingsUnitTests:com.android.settings.network
Change-Id: Id2fd8c9b3b113ffbb49168305b05c67392fa4d87
(cherry picked from commit e8a4e13a80)
EntityHeaderController include the RecyclerView and it has animation by
default. When RecyclerView do the animation first then update the UI, it
will cause the issue.
Bug: 189071671
Test: manaul test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiDetailPreferenceController2Test
Change-Id: Ieb7e0a8f7658bface9af090ea061ca7265099fcd
Display 6 GHz for the frequency pref in Wifi Network Details
when connected to a 6 GHz network.
Bug: 184170532
Test: build
Change-Id: I7d10fe0e4c95e6f0ec66c3a179c3c46828eeb545
- Use the same Wi-Fi icons between "Network details" Settings and
Internet Panel
Bug: 188660580
Test: manual test
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiDetailPreferenceController2Test
Change-Id: Icefc08eb47d2d573e26ff82b6a141cf55ce787c5
Security type of WifiEntry may change based on available
scans/configs/the current connection for entries that can support
multiple security types. Refresh the security string every time the
WifiEntry is updated.
Bug: 185914718
Test: manual inspection that connected wifi entry has the correct
security string
Change-Id: I5f3b7274f1e6b68de414493a6619555ee9b17e23
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
- 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
- Update the usage and the test case
- Update discharging string to follow new string doc
Bug: 183689347
Test: make RunSettingsRoboTests
Change-Id: I1e14e7da8cb02755d8cf6e12626a0d94fad87121
- 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
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
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
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
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
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
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
This make the WifiTrackerLib can be customized.
Bug: 149540986
Test: manual test wifi picker, and atest com.android.settings
Change-Id: I1418ae39c895ce2ff87f18005a226a4835f9e083
- 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
- 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
Listen WifiEntry#onUpdated() to update preference states will be modify
in next CLs.
Bug: 170148009
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiPrivacyPreferenceController2Test
Change-Id: I5acf096970431a0b093dd7e0968f30c1959e3b7f
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
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
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
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
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
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
* 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
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
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
* 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
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