Commit Graph

480 Commits

Author SHA1 Message Date
TreeHugger Robot
04e72e23d9 Merge "[Wi-Fi] Prevent fatal exception for null intent action" 2019-08-22 09:51:01 +00:00
Arc Wang
1e451cf708 [Wi-Fi] Prevent fatal exception for null intent action
Intent action may be null.

Bug: 139020487
Test: WifiScanModeActivityTest
      WifiNoInternetDialogTest
      WifiDppConfiguratorActivityTest
      WifiDppEnrolleeActivityTest
Change-Id: Ie6119a86aaee1a6b40710705a0ea7d92c24736d6
2019-08-22 13:42:47 +08:00
Goven Liu
7d6a2dd886 Merge "[Wi-Fi] Hide SoftKeyboard temporary when user tap the advanced button." 2019-08-21 04:27:59 +00:00
TreeHugger Robot
785c024cad Merge "[Wi-Fi] Support hidden SSID Wi-Fi networks for Wi-Fi QR code scanner & generator" 2019-08-20 08:37:07 +00:00
govenliu
c3eab6a9d9 [Wi-Fi] Hide SoftKeyboard temporary when user tap the advanced button.
When tapping on the advanced button during configuring a network, some items in the expanded list are covered by IME keyboard, which may cause user to ignore them accidently.

To improve it, hide the IME temporary to let user can see most of them.

Bug: 78441374
Test: Use ShadowInputMethodManager to check if the keyboard is hide or not after tapping on the advance button.
Change-Id: I0677d96febc90c66d1cf6f98555bbb436a654660
2019-08-20 10:55:44 +08:00
govenliu
dbf920cfff [Wi-Fi NetworkRequest] Set theme for the NetworkRequest dialog
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
2019-08-20 10:26:14 +08:00
Arc Wang
03f1ee1b50 [Wi-Fi] Support hidden SSID Wi-Fi networks for Wi-Fi QR code scanner & generator
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
2019-08-20 09:54:17 +08:00
TreeHugger Robot
79d9e9069b Merge "[Wi-Fi] Check default data SIM instead of all active subscriptions for 'Switch to mobile data automatically' setting" 2019-08-17 02:40:20 +00:00
Goven Liu
fb9a140739 Merge "[Wi-Fi HotSpot] Improve Wi-Fi hotspot settings entries visibility problem" 2019-08-16 07:51:50 +00:00
Arc Wang
35b7b6d078 [Wi-Fi] Check default data SIM instead of all active subscriptions for
'Switch to mobile data automatically' setting

To align with framework design.

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: If10616c9b47fae490521479c5abc99c5df87f409
2019-08-16 04:00:58 +00:00
govenliu
6ee894759a [Wi-Fi HotSpot] Improve Wi-Fi hotspot settings entries visibility problem
When the security type of hotspot changed, the hidden item will showed because of the Expanded child list is set as constant.

To improve it, dynamicall adjust the Expanded child count according to the security type.

Bug: 138594907
Test: Manually
      1. Enter Settings APP -> Network & internet -> Hotspot & tethering
      ->Wi-Fi hotspot
      2. Check if there are only two expanded items if the
      Security type is None, or three expaned items if the Security type
      is WPA2-personal
      3. Change the Security type and back to check item 2 match or not.

Change-Id: I84d1c5dca94d6a218cfc7ecd57e201e1cffdd878
2019-08-15 19:07:22 +08:00
Arc Wang
05381bf009 Merge "[Wi-Fi] Fix multi SIM devices switch to mobile data automatically settings missing problem" 2019-08-14 01:44:18 +00:00
Arc Wang
fe9a794eaf [Wi-Fi] Fix multi SIM devices switch to mobile data automatically settings missing problem
Context#getResources loading is done based on the last SIM to
come up, we may get wrong customization settings.

This fix check all active subscriptions and shows the preference
when there is one SIM applies.

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
2019-08-13 13:03:19 +00:00
govenliu
8d6e5d14cb [Wi-Fi] Add a new fragment for configuring a new AccessPoint network.
When configuring a new access point in Wi-Fi settings page, it's hard to figure out there are some other option items after you tapping the "Advanced options" button.

To improve it, use full screen fragment to present the configuration items, so user can see as many items as possible.

Bug: 31052996
Test: Mock this fragment and check each button status run as expected.
Change-Id: I1c8e552fcabb1414bb500d918ed61287bf4aece2
2019-08-10 21:01:01 +08:00
Quang Luong
c2e859edee Merge "Copy WifiSettings base code into WifiSettings2 without WifiTracker" 2019-07-31 23:03:31 +00:00
Quang Luong
b061428938 Copy WifiSettings base code into WifiSettings2 without WifiTracker
Copied main logic from WifiSettings into WifiSettings2, removing
all instances of WifiTracker in preparation of adding WifiTracker2.

Removed:
 - WifiDialog (to be added back in)
 - Context Menu (to be added back in)
 - Leftover SUW code (Next button)

WifiSettings2Test also copied directly from WifiSettingsTest, without
context menu test.

Bug: 70983952
Test: atest WifiSettings2Test

Change-Id: Ie1ef5bf0ca14f5989f4add2165422609f12c2c84
2019-07-31 11:46:15 -07:00
Quang Luong
a5c8edb46f Merge "Default MAC address should display "Not Available" in network details" into qt-r1-dev am: 17908b1e8f am: 5c4a0e3444
am: b66a8c86a4

Change-Id: I2cfd0376d60efcc5fd417139bfcb3446a2485871
2019-07-30 17:37:41 -07:00
Arc Wang
6351f7c37a [Wi-Fi] Remove unsupported EAP methods for WPA3-Enterprise 192-bit - I
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

To reduce review effort, I left refine code change in another CL.

Bug: 135127581
Test: WifiConfigControllerTest
Change-Id: Ibf904da9407ec803afb8bb995e9df1a2e25f0dcb
2019-07-25 14:27:41 +08:00
Quang Luong
f73d65c940 Default MAC address should display "Not Available" in network details
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
2019-07-22 17:06:51 -07:00
Cosmo Hsieh
223386ec08 Merge "[NetworkRequest] Implement Single Specified SSID ALTERNATE FLOW V2" 2019-07-22 04:39:39 +00:00
cosmohsieh
a5e0148c7a [NetworkRequest] Implement Single Specified SSID ALTERNATE FLOW V2
Implement new flow for Single SSID mode of NetworkRequestDialog.
There is a new design for single SSID mode of NetworkRequestDialog.

Bug: b/132904234
Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: Ice19842243ea6f24a3ea74cf6e90a473080b8983
2019-07-18 12:04:02 +08:00
govenliu
41cdecca3d [Wi-Fi] EAP method AKA' did not pronounced as AKA prime.
Spinner did not use ttsspan to store the display string so AKA' just
pronounced as AKA.

To fix it, use charsequence array, which each specific array item have
the ttsSpan to store the string for TTS engine.

Bug: 119929832
Test: Set a 3-texts array and check if the specific array item
replacement mechanism work correctly or not.

Change-Id: I8e7d10da99a3f3503e1019687c45cf40070d0045
2019-07-11 09:31:15 +08:00
Antony Sargent
8abc3d914d Merge "Check isWfcProvisionedOnDevice in WifiCallingSettings" into qt-dev am: 3288037bd2 am: e4e1f08781
am: 85a2cd23f7

Change-Id: I9b1c25d6b2a0ad36aee5134db0d831f640f97bf8
2019-06-25 23:19:13 -07: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
Fan Zhang
d71835125a Clean up ShadowTheadUtils.
Individual tests don't need to specify it in their own @Config

Bug: 135698296
Test: robotests
Change-Id: I66dc0bfdaec9c6cac9b48f3e7906f71dfb3a6b28
2019-06-20 15:17:42 -07:00
Sunny Shao
5da24591ea Update testcases which failed due to the SupportLibrary changed
Fragment.oncreate() causes an IllegalStateException. We use a
ShadowFragment to stop the calling sequence.

Fixes: 135086559
Test: robotest
Change-Id: I601e0f2513f826b0b7749cb2c013b7e4c0a94a33
2019-06-13 10:02:50 +00:00
Arc Wang
82eee0632b Merge changes from topic "refine ConfigureWifiSettings"
* changes:
  Refactor NotifyOpenNetworksPreferenceControllerTest into TogglePreferenceController
  Refactor UseOpenWifiPreferenceController into TogglePreferenceController
  Refactor WifiWakeupPreferenceController into TogglePreferenceController
2019-05-25 14:04:35 +00:00
Arc Wang
cc75d0e2d9 Merge "Fix Wi-Fi QR code decode fail" into qt-dev am: 27d09aeb0c am: 3e39f94880
am: 842b421420

Change-Id: I1dba808a58d55e72259a048d6cb760fe286df054
2019-05-24 16:51:24 -07:00
Arc Wang
535e72a45b Refactor NotifyOpenNetworksPreferenceControllerTest into TogglePreferenceController
NotifyOpenNetworksPreferenceControllerTest is essentially reimplementing TogglePreferenceController.

Add below 2 changes for test failure of CodeInspectionTest

1. Remove some arguments from constructor of the controller
2. Declare the controller in xml instead of in code

Bug: 132391311
Test: manual
      NotifyOpenNetworksPreferenceControllerTestTest

Change-Id: Icda870ef0b90aacbacfe588b23d1b28d2b60941c
2019-05-24 12:17:32 +08:00
Arc Wang
912f3558df Refactor UseOpenWifiPreferenceController into TogglePreferenceController
UseOpenWifiPreferenceController is essentially reimplementing TogglePreferenceController.

Add below 2 changes for test failure of CodeInspectionTest

1. Remove some arguments from constructor of the controller
2. Declare the controller in xml instead of in code

Bug: 132391311
Test: manual
      UseOpenWifiPreferenceControllerTest

Change-Id: Ie52e79fd0bc66a227bd46f09c74d1fbec614f636
2019-05-24 12:09:20 +08:00
Arc Wang
1ee4adf321 Refactor WifiWakeupPreferenceController into TogglePreferenceController
WifiWakeupPreferenceController is essentially reimplementing TogglePreferenceController.

Add below 2 changes for test failure of CodeInspectionTest

1. Remove some arguments from constructor of the controller
2. Declare the controller in xml instead of in code

Bug: 132391311
Test: manual
      WifiWakeupPreferenceControllerTest

Change-Id: I4aa607f78d5e7de70600a410dfc7267e6bd7d387
2019-05-24 12:05:37 +08: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
Arc Wang
8e3c49123d [Wi-Fi DPP] Refine Wi-Fi DPP UI layouts with SUW library
1. Use GlifLayout in all fragments
2. Fragments use 32dp icon instead of 48 dp
3. Replace ScrollView & ProgressBar & Header & Footer of original layout with GlifLayout design
4. Remove ActionBar (no more back button on screen top)

Bug: 129021867
Test: manual
Change-Id: I2fda48cb7f7819b2c8dd85c10d39e1f187463bd8
2019-05-21 13:59:39 +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