Commit Graph

452 Commits

Author SHA1 Message Date
Weng Su
6a2624e500 [RESTRICT AUTOMERGE] Revert "Add permission checking to WifiDialogActivity"
Revert submission 15220072-add_permission_wifidialog-qt-dev

Reason for revert: rollback CLs to avoid compatibility risks
Reverted Changes:
I1535f6f2d:Add SafetyNet logging
If7ca069c8:Add permission checking to WifiDialogActivity

Bug: 185126813
Change-Id: I3f75adf5bf0eea037dc0c5dfbeeb22b35b2856b6
2021-10-05 03:37:51 +00:00
Weng Su
8800cdf527 Add permission checking to WifiDialogActivity
- Use getCallingPackage() to get calling package.

- Check if the calling package has ACCESS_COARSE_LOCATION or
ACCESS_COARSE_LOCATION permission.

- Only set result data to permission granted callers

Bug: 185126813
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiDialogActivityTest

Merged-In: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
Change-Id: If7ca069c842ed2bd1aed23f9d4041473c68a4dad
(cherry picked from commit 71e728e934)
2021-07-07 08:06:29 +00:00
Weng Su
1f24c6a968 [DO NOT MERGE] Modify Wi-Fi details settings to restricted style
- Show restricted text in guest mode

- Screenshot:
  https://screenshot.googleplex.com/6nYcmazMM46TxaB

Bug: 177573895
Test: manual test
make RunSettingsRoboTests \
       ROBOTEST_FILTER=WifiNetworkDetailsFragmentTest

Change-Id: I5f857b2079e0f550e4be601d27dd54dac56b2f57
Merged-In: I5f857b2079e0f550e4be601d27dd54dac56b2f57
2021-04-29 14:38:27 +00:00
Antony Sargent
46d819272a Check isWfcProvisionedOnDevice in WifiCallingSettings
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
2019-06-25 14:16:53 -07:00
Arc Wang
0d706f0047 Fix Wi-Fi QR code decode fail
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
2019-05-23 20:41:45 +08:00
TreeHugger Robot
8bc21da216 Merge "Remove On/Off subtext next to the Wi-Fi toggle" into qt-dev 2019-05-14 04:44:27 +00:00
Jason Chiu
2c3e6c6434 Fix automatically directing the user to the captive portal in Wi-Fi Slice
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
2019-05-11 03:26:57 +00:00
Arc Wang
454553ed52 Fix "Turn on Wi-Fi scanning?" does not pop up when clicking "Turn on Wi-Fi automatically"
We should make sure both 'Use location' & 'Wi-Fi scanning' are enabled
before calling setWifiWakeupEnabled.

Bug: 131777439
Test: manual
Change-Id: I602917cfa7c5581ecb414e8c44b4e20c8f9ea78d
2019-05-10 14:13:07 +08:00
Jason Chiu
46294872c7 Remove On/Off subtext next to the Wi-Fi toggle
Fixes: 132312797
Test: robotest, visual
Change-Id: I2c3b39e8deda211d23be0b2a73426778dbbf53db
2019-05-09 15:19:02 +08:00
Jason Chiu
6a6787cdc0 Add subtext for Wi-Fi items on Wi-Fi slice
- 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
2019-05-03 16:18:42 +08:00
Pasty Chang
54cddc70e5 Merge "Set QR scan activity to light theme in setup flow" into qt-dev 2019-04-29 01:52:11 +00:00
Clown SHEN
fbcf3708a6 Merge "Show "Disconnected" instead of "Saved" in detail page summary" into qt-dev 2019-04-27 06:42:45 +00:00
clownshen
0d5928f6f1 Show "Disconnected" instead of "Saved" in detail page summary
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
2019-04-25 08:15:13 +00:00
clownshen
dd4764b7f4 Fix NPE when connect timeout
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
2019-04-24 06:10:18 +00:00
Andrew Sapperstein
28cfb72aaa Merge "Fix WifiDetailPreferenceControllerTest new test case failure" into qt-dev 2019-04-23 18:18:41 +00:00
pastychang
ec0a30a8b9 Set QR scan activity to light theme in setup flow
Test: atest
Bug: 131029518
Change-Id: Ibec28e78fcf17390cd3844ead4a88a4e6bff6094
2019-04-23 13:38:39 +00:00
TreeHugger Robot
805e208f14 Merge "Automatically direct the user to the captive portal in Wi-Fi Slice" into qt-dev 2019-04-23 11:47:21 +00:00
clownshen
b87e5455bc Fix WifiDetailPreferenceControllerTest new test case failure
Bug: 130370187
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Change-Id: I314702be14db4e853412874c123e0a4b229849a2
2019-04-23 17:15:32 +08:00
Jason Chiu
a73d7715d1 Automatically direct the user to the captive portal in Wi-Fi Slice
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
2019-04-23 12:07:20 +08:00
Clown SHEN
2a14b7e8b5 Merge "Fix WifiDetailPreferenceControllerTest failure" into qt-dev 2019-04-23 03:02:31 +00:00
Clown SHEN
2e340d284e Merge "Correct detail page UI once user change MAC randomized setting" into qt-dev 2019-04-23 03:01:48 +00:00
clownshen
922b555dfb Fix WifiDetailPreferenceControllerTest failure
Bug: 130896210
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Change-Id: I994fbc4a67f4c58afebb38316555f8e1442b96c0
2019-04-22 18:33:46 +08:00
clownshen
60013de198 Correct detail page UI once user change MAC randomized setting
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
2019-04-22 11:44:37 +08:00
Fan Zhang
ef2e91913b Add @Ignore for all failing tests.
Bug: 130896210
Bug: 130896218
Bug: 130896701
Bug: 130897882
Bug: 130897305
Bug: 130897640
Bug: 130896049
Test: robo
Change-Id: I77143d504501b358c2103aa736cd2aad13ed4c5c
2019-04-19 13:23:29 -07:00
TreeHugger Robot
bb00e4c028 Merge "[PasspointV2] Set summary of saved networks preference" into qt-dev 2019-04-18 00:58:22 +00:00
TreeHugger Robot
f590d5c617 Merge "Implement context menu for ConnectedAccessPointPreference" into qt-dev 2019-04-18 00:33:41 +00:00
cosmohsieh
e6e4b4d78d [PasspointV2] Set summary of saved networks preference
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
2019-04-17 18:21:09 +08:00
clownshen
5e3261616f Retrieve WiFi detail test cases
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
2019-04-17 01:11:49 +08:00
cosmohsieh
faede7ceb9 Implement context menu for ConnectedAccessPointPreference
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)
2019-04-16 07:35:36 +00:00
pastychang
1d2b51aeb0 Set WifiDialog to light theme in setup flow
Screenshot: https://screenshot.googleplex.com/X6tkxihEWFY

Test: Manual
Bug: 130507879
Change-Id: Icca6b827cdb62387fde4c91435d4df10e2ff4d04
2019-04-15 05:49:51 +00:00
cosmohsieh
6938ad1630 [PasspointV2] Clear feature flag settings_wifi_details_saved_screen
Clear feature flag settings_wifi_details_saved_screen

Bug: b/128369527
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: Ib8fc9c9eb52bee12d6501a2041c32aa60c80e70e
2019-04-13 00:58:23 +08:00
Antony Sargent
02db2ef9b6 Go to the correct subscription in WifiCallingSettings
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
2019-04-09 16:08:04 -07:00
clownshen
6ef1eec2e2 Redraw WiFi detail page's header icon
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)
2019-04-09 02:20:32 +00:00
TreeHugger Robot
f32d29b730 Merge "Update wifi p2p to direct user to enable location" into qt-dev 2019-04-05 07:59:44 +00:00
Salvador Martinez
d25ba81028 Update wifi p2p to direct user to enable location
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
2019-04-04 23:45:04 +00:00
Jason Chiu
8f6c06974c Add prompt to sign in at captive portal to Wi-Fi Slice
- 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)
2019-04-04 16:51:02 +00:00
clownshen
fafdfea72c Add Wi-Fi data usage field
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
2019-04-03 17:04:36 +00:00
Clown SHEN
8cc371e643 Merge "Only show Sign In button for connected network" 2019-04-03 02:16:05 +00:00
TreeHugger Robot
1dea397256 Merge "Show the disclaimer for WFC emergency call limitation" 2019-04-02 19:58:42 +00:00
Quang Luong
cd0e0d79c5 Merge "Removed Write to NFC dialog" 2019-04-02 17:19:21 +00:00
TreeHugger Robot
abc3e8374e Merge "Add Wi-Fi connect listener in ConnectToWifiHandler" 2019-04-02 08:42:30 +00:00
clownshen
5c2637d6d0 Only show Sign In button for connected network
The Sign In button may appeared in details page for disconnected network
if current network is Captive Portal network. Should hide the button
for disconnected network.

Bug: 129514576
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Test: manual test
Change-Id: I8b4f79e7ba731ce83c49576fffd3e78a27598be3
2019-04-02 08:38:50 +00:00
Clown SHEN
531a87bfd5 Merge "Add test cases for disconnected/not in range network" 2019-04-02 08:38:05 +00:00
Jason Chiu
1b5f5ef510 Add Wi-Fi connect listener in ConnectToWifiHandler
- Extract the connect listener from WifiSettings
- Add a listener to display a toast on failure to connect in ConnectToWifiHandler
- Also for the new AccessPoint.startOsuProvisioning() which accepts a connect listener

Bug: 123697580
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I29b2c1e2c58312d692675ecabf2818b4bbed3b51
2019-04-02 13:44:08 +08:00
clownshen
38f4acf77f Add test cases for disconnected/not in range network
Since detail page support to display for saved network which connection
state may be disconnected or not in range, add more test cases for this
new change.

Bug: 124707751
Test: atest WifiDetailPreferenceControllerTest passed
Change-Id: Ia6426ed6336c09f387317c5597f8deb14c1a9502
2019-04-02 03:13:43 +00:00
Hao Zhang
ec20de3eba Show the disclaimer for WFC emergency call limitation
The emergency calls might not work properly via wifi calling, especially
in areas with no 2G/3G coverage. Display the disclaimer for the this
limitation when a user enabled the wifi calling setting.

Test: manual - Checked that the disclaimer for emergency call limitation
is shown when changing wifi calling setting to turned on.
Test: auto - Passed EmergencyCallLimitationDisclaimerTest.
Bug: 68115846

Change-Id: I881d479c1e02525ac614c66594637a5e0347d70c
2019-04-01 17:09:41 -07:00
Quang Luong
619211cd9e Merge "Added connect listener to startOsuProvisioning()" 2019-04-01 17:55:36 +00:00
Jason Chiu
53d147dd5c Refactor WifiScanWorker
Extracted WifiScanWorker from WifiSlice

Bug: 128056349
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.slices
Change-Id: I9b3c809ee6c2b7466c959631840b257b91b49d88
2019-04-01 16:40:59 +08:00
Quang Luong
83b814742a Removed Write to NFC dialog
Write to NFC dialog should be removed since WPS isn't supported anymore

Test: atest WifiSettingsTests
Bug: 112745354
Change-Id: I2bccf0b234c5f3138c48700904c2d578072e8cd6
2019-03-29 16:12:32 -07:00
TreeHugger Robot
d34b2a9697 Merge "Add SSID to Network Details page for Passpoint" 2019-03-28 22:12:33 +00:00