Refactor of Wifi Calling to avoid accessing hidden APIs.
This includes the following cherry-picks on the corresponding files:
I455685eb26df69d929ff3ed3c26ce84aa5f6b1f8
I1a67db80b114a438afda7d45af90e54af38703c3
Idd4935a6d8ceed77c15e90f96781014d1940a427
Ia5179ee1a23f054899bc74c796542bae40cdc8d5
I57c91a095fc4d454d92e8d78e0b647b4f098c6a3
I8a09264f83b9fc4fce3f79ec3aeb6ae757b004e4
I68462368669b81e10d09bbb93e74e23ea9a1f446
I9c54eb63a0df3fde38965ee7e2ae46cc1b7efd47
I0d5dcfc33b0bddacf059d1fb9af559646e32e68a
I45977c850977be84c0dc1f6461e68a1941efc1a2
I46c047359257ddd5cb3e331add4856b01c5c9739
I35246811d3e01d0b2ca197e9a1ed7081691cd982
Bug: 140542283
Test: build pass
Change-Id: I2cddeefb7cc5f1b2060e572a73560f7cd6204d0b
Currently, users don't know if the wifi description shows
"No internet" means it really doesn't have internet access or no
internet is because of private DNS resolution failed. So, Add a
new description for wifi when private DNS is broken.
Bug: 113242081
Test: make -j44 RunSettingsRoboTests \
ROBOTEST_FILTER=WifiDetailPreferenceControllerTest
Change-Id: I44a7e51cf76dc3f2a6b9583f226af6649f9b1f5f
Should only allow saved network UI initialization for once.
Bug: 140362368
Test: WifiConfigControllerTest
manual:
Manually change EAP method and other security fields for a saved
Wi-Fi neterprise network.
Change-Id: Iddc1dae53849760f43b41b75262358dff6ba09af
Merged-In: Iddc1dae53849760f43b41b75262358dff6ba09af
Call NetworkRequestUserSelectionCallback#reject() to notify framework that user quit this request without
selecting any network.
Bug: 138855477
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.NetworkRequestErrorDialogFragmentTest
Change-Id: I4b06c9772598ab3f9416f32456cd0a65e2d70d68
Merged-In: I4b06c9772598ab3f9416f32456cd0a65e2d70d68
We should set the same theme which applied in Settings APP to the NetworkRequestDialog
Bug: 139294487
Test: check if the right theme is applied when launching this activity.
Change-Id: Iefdfd5b810f5cf22c220830e1ee965113a439a3e
Merged-In: Iefdfd5b810f5cf22c220830e1ee965113a439a3e
WifiTracker#getAccessPoints() only contains a hidden SSID Wi-Fi
network if it's a saved Wi-Fi network. We can't check if a hidden
SSID Wi-Fi network is reachable inadvance. That is the difference
after a user scanned a QR code of hidden SSID Wi-Fi network.
Bug: 135892509
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiDppUtilsTest
manual test:
Click the Share button of a connected hidden SSID Wi-Fi network
and save the QR code image. Use Wi-Fi QR code scanner in Wi-Fi
Settings to scan the saved QR code image.
Change-Id: I9056622e6dadb04e5642ae1c50fb4d227a78d26d
Merged-In: I9056622e6dadb04e5642ae1c50fb4d227a78d26d
Context#getResources loading is done based on the last SIM to
come up, we may get wrong customization settings.
This fix check the setting of active subscription and shows the preference.
Bug: 138956509
Test: CellularFallbackPreferenceControllerTest
manual test:
1. Insert feature supported SIM and check UI.
2. Remove feature supported SIM and check UI.
3. Turn airplane mode on and check 1. and 2..
Change-Id: I72b6db415429181395a02f163889bb1b9c0f070f
Merged-In: I72b6db415429181395a02f163889bb1b9c0f070f
1. Only support EAP-TLS for WPA3-Enterprise 192-bit
2. Remove "Do not validate" from the CA certificate menu
3. Remove "Do not provide" from user certificate menu
Bug: 135127581
Test: WifiConfigControllerTest
Change-Id: Ibf904da9407ec803afb8bb995e9df1a2e25f0dcb
Merged-In: Ibf904da9407ec803afb8bb995e9df1a2e25f0dcb
For saved networks that do not have a MAC address available in their
WifiConfiguration such as Passpoint networks, the MAC address will
be the default value of 20:00:00:00:00:00. In this case, display
"Not Available" as the summary of the MAC address preference.
Bug: 137282522
Test: atest WifiDetailPreferenceControllerTest &&
manual - open saved passpoint network details while disconnected
but in range and observe MAC address preference.
Change-Id: Ie9010b0430726de8105852ae2afe10047dcc3676
On the SIM details page, the preference leading to a page for
configuring wifi calling will appear based on the results of the
MobileNetworkUtils#isWifiCallingEnabled helper function. That helper
uses the ImsManager to check several conditions, among them both
isWfcEnabledByPlatform and isWfcProvisionedOnDevice.
The page for configuring wifi calling has a tabbed UX, with one tab for
each active subscription that supports it. The WifiCallingSettings class
gets a list of the active subscriptions to determine which tabs to show,
and removes any that don't support wifi calling, but was only using the
isWfcEnabledByPlatform test to do so. This is a problem because the code
for showing the contents inside the tab, in WifiCallingSettingsForSub,
includes a sanity check of isWfcProvisionedOnDevice and calls finish()
if that returns false.
What this meant in practice is that if you happened to have 2
subscriptions where one returns true for both isWfcEnabledByPlatform and
isWfcProvisionedOnDevice, but the other only returned true for
isWfcEnabledByPlatform, then you'd never be able to succesfully use the
wifi calling page at all because the tab for the subscription you
*aren't* trying to configure would always call finish() early.
The right long term solution to this problem is probably to remove the
tabbed UX entirely from this page, since we probably don't need it given
the overall new multi-SIM UX. But there may still be legacy uses and
that is likely a bigger change than we want to make right now.
As a stopgap, this CL just adds a check of isWfcProvisionedOnDevice to
the code for filtering out ineligible subscriptions from the tabbed
interface, which we should have always had anyway.
Fixes: 135591718
Test: make RunSettingsRoboTests
Change-Id: I656c3d3fb30cb6fabcb86685eae38c5f0cd0c6f2
ZXing generate QR code with default encoding ISO-8859-1,
the generated QR code is wrong encoded if there is a
character outside of the charset.
Generate QR code of UTF-8 encoding.
Bug: 131851854
Test: manual
Change-Id: I96a5e72a978c654b62d89b3b11dd3016bf0ee1df
The feature failed after the CL "Force the adapter to rebind cards with
a toggle".
Because toggle slices have been forced to rebind after starting another
activity and when any slice is updating. This unpins Wi-Fi slice and
stops WifiScanWorker and then clears the saved clicked network.
Solution:
1. Change ConnectToWifiHandler from activity to receiver and send
broadcasts to it with FLAG_RECEIVER_FOREGROUND, so Wi-Fi slice won't
be forced to rebind.
2. Seperate Wi-Fi scan worker and contextual Wi-Fi scan worker. Keep the
original logic for the generic one, and then add the logic below to
the contextual one.
3. Do not clear the saved clicked network when slice is unppined because
it happens frequently in contextual homepage.
4. Introduce a static long in ContextualWifiScanWorker that updates once
in every visible UI session. A session is when the screen is visible
to user.
5. Use session token to determine whether auto-starting captive portal
is needed.
Fixes: 128056349
Test: robotest, visual in homepage and network panel
Change-Id: I9e03c379806e124fa7253b2a635574b2433f6afc
We should make sure both 'Use location' & 'Wi-Fi scanning' are enabled
before calling setWifiWakeupEnabled.
Bug: 131777439
Test: manual
Change-Id: I602917cfa7c5581ecb414e8c44b4e20c8f9ea78d
- Sync the Wi-Fi slice items subtexts with Wi-Fi page, and add
"Not connected" when the returned subtext is empty
- Wi-Fi slice header subtext just simply reveals on/off state
- Add a placeholder to the loading row to sync its height with other
rows
- Show contextual Wi-Fi slice when the connected network is captive
portal, is invalidated, or has limited connectivity
Bug: 130751985
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I0b2715295f00edc8dd7d6d75b7fdc18263675797
To improve UX, show summary as "Disconnected" is more make sense to end
user instead of "Saved" in detail page, it's decision-maker to click
connect button.
Bug: 131119614
Test: manual test
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Change-Id: I26ea0c566daab6214a596509f972005fd37fab4d
If user click connect button and then receive timeout event after leave
detail page, the NPE happened. Ignore the timeout event if activity
already gone.
Bug: 131141866
Test: manual test
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Change-Id: Ic22c22027386d4a6de5d693eafcd9cd463ed3415
Save the SSID when the user clicks the network, and then automatically
start login page when the network gets the captive portal capability.
Fixes: 128056349
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: Ia25241a8243d7d6aae604f341b512350404d9fd1
Changing MAC randomized setting will disconnect and reconnect Wi-Fi in
the background automatically. UI display as disconnect even AP
reconnected. Fix this problem and also remove some obsolete code.
Another problem is connect button display as disabled with
"Connecting..." wording after user click connect then change the MAC
randomized setting.
Bug: 130370187
Test: Manual test with test case in go/wifi_connnection_btn_design
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Change-Id: Id87c3db0cc785a9ceb3a71c7cbb78ffd87ffb0a1
Summary text of "saved networks" preference has number of both normal
networks and subscriptions
Bug: 130259573
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.WifiSettingsTest
Change-Id: I8bdf41c1a85165298a2ccd9e688c30b0bd593bfa
1. fix test case failure
2. remove redundant test cases
Bug: 130640128
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Change-Id: Ia59287d7f9adb37a6b56301a2178b6e307fd892d
1) User wants to long press ConnectedAccessPointPreference to forget network if this
is a captive portal network.
2) Change context menu string
Bug: 113756562
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: If5c45c45fe126f627eeb53a6c1873a070ad23ae8
(cherry picked from commit 9f8522565a)
For subscriptions that support wifi calling, we have a preference on the
mobile network details page which leads to a Wifi Calling page. That
page already supports the concept of multiple subscriptions with a
header strip containing a tab for each subscription that supports wifi
calling. However, we were not necessarily selecting the *correct* tab
when going to this page. So you might be viewing the mobile network
details for subscription B and click on "Wifi Calling", only to land on
the page with the tab for subscription A selected.
This CL fixes the problem by adding an extra with the current
subscription id to the Preference's intent in
WifiCallingPreferenceController, and then reads that extra in
WifiCallingSettings and uses it to select the appropriate tab.
Fixes: 117135894
Test: make RunSettingsRoboTests
Change-Id: I3aec30072712247d14fe0fb6b61207535f9e981c
Tint 87% dark in day mode and 100% white for night mode
Bug: 129413562
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Test: manual test
Change-Id: Ia31231ca7871ac4efcea5e1232690ff4374df5b3
(cherry picked from commit 86f65ef488)
Location is required for Wifi Direct so if it is not enabled
we disable the preference. Additionally, this fixes some minor
update issues in Wifi Wakeup that was also affecting wifi p2p.
Basically they weren't updating when location settings changed
until you left the screen and came back. Now they do.
Test: robotests, manual
Bug: 120552223
Change-Id: Ibd386fcfbef881cae3d871152675f1cab5e4a041
- Support signing in captive portal APs in WifiSlice
- Show ContextualWifiSlice when signing in is required
- Generifies SliceBackgroundWorker.getInstance() to return <T extends SliceBackgroundWorker>
Fixes: 128056349
Test: make RunSettingsRoboTests -j
Change-Id: Ib4d3942591a65e81018389e4c0bbddfea6854dbc
(cherry picked from commit dd9f92280b)
Add Wi-Fi data usage field at Wi-Fi Setting to show out the total Wi-Fi
data usage for user.
Bug: 129474341
Test: atest WifiSettingsTest
Test: manual test
Change-Id: Iad5bee47bd83ed143a2730f042d77907344f4017