Commit Graph

125 Commits

Author SHA1 Message Date
Weng Su
68b0057f66 Smart Router settings UI changes
- Remove "AP band" preference

- Add "Maximize Compatibility" switch preference
  - Use bridged mode API for new devices (after P21)

- Screenshot:
  https://screenshot.googleplex.com/84X9Av8gVj3idjB

Bug: 168052744
Test: manual test
atest WifiTetherMaximizeCompatibilityPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest

Change-Id: Ib74156c0fa6eccdd13239854047b1fb4e49a293c
2021-03-16 21:50:55 +08:00
paulhu
6151c227e0 Replace ConnectivityManager hidden symbols on Settings
Connectivity is becoming a mainline module in S, so
ConnectivityManager hidden symbols can not be used for outside
components. Besides, most Tethering relevant methods or variables
on CM are migrated to TetheringManager. So replace all these
methods or variables from ConnectivityManager to TetheringManager
on Settings.

Bug: 180693313
Test: make RunSettingsRoboTests ROBOTEST_FILTER=<Modified Test>
Change-Id: Iba4b121a4ddf3f04252aa0355e0e6494a593682a
2021-02-24 06:17:17 +00:00
Stanley Wang
b87ddba6cd Use SettingsLib's MainSwitchBar to replace SwitchBar in Settings.
To log Settings metrics, the MainSwitch extends MainSwitchBar and
replace the SwitchBar in SettingsActivity.

Bug: 175181773
Test: Run robotest and apply the widget in Settings and see the ui

Change-Id: I3add3702e9058ad9192b5172c7cf0e2ccfb55a70
2021-01-14 22:48:31 +08:00
Weng Su
b9c865b704 Add Hotspot WPA3 Settings
- Add WPA3 SAE security types
  - "WPA3-Personal"
  - "WPA2/WPA3-Personal"

- Verify valid WPA3 password

- Enable QR code scanner for Hotspot WPA3

- Avoid null point exception when settings keyword searching

- Screenshot
  https://screenshot.googleplex.com/B6u54wh8w35Xnyf
  https://screenshot.googleplex.com/8hWHHUTb6UaS9vB

Bug: 167968488
Test: manual test
- atest WifiTetherSecurityPreferenceControllerTest
- atest WifiUtilsTest

Change-Id: I2992040498f8add107a4cce70a92c1c6ee6ab805
2021-01-10 08:38:39 +00:00
bsears
598ab32345 Revert "Add Hotspot WPA3 Settings"
This reverts commit e0062af10c.

Reason for revert: Bug 176569060 - Droidfood blocking crash in Settings app.

Change-Id: Id50c96e8ce704b19e5ffb9b9a9fcbb0db2d81aee
2020-12-31 21:16:51 +00:00
Weng Su
e0062af10c Add Hotspot WPA3 Settings
- Add WPA3 SAE security types
  - "WPA3-Personal"
  - "WPA2/WPA3-Personal"

- Verify valid WPA3 password

- Enable QR code scanner for Hotspot WPA3

- Screenshot
  https://screenshot.googleplex.com/B6u54wh8w35Xnyf
  https://screenshot.googleplex.com/8hWHHUTb6UaS9vB

Bug: 167968488
Test:
- Manual Test
- atest WifiTetherSecurityPreferenceControllerTest
- atest WifiUtilsTest

Change-Id: I155ed0bfd187d27ba864f9fb1b78d08c437740f3
2020-12-29 08:04:10 +00:00
Weng Su
ae3ef639d9 Use new strings for Wi-Fi hotspot toggle specific scenario
- The SW (Swahili) language is used for a different noun class and is
inappropriate in the context.

- Need to separate different strings for specific situations.

- Use new strings from SettingsLib resource

Bug: 168801172
Bug: 168733667
Test: Manual test
Change-Id: I0e0a688f54ca2ee1b4cd5049c7e0f3ff3112b127
2020-11-03 09:26:40 +00:00
Arc Wang
ae79c41cd7 [Wi-Fi] Fix crash after editing invalid hotspot password
From Android 11, Wi-Fi framework only supports ASCII encoding
for hotspot password, APP should check if password character is
valid.

This change checks if SoftApConfiguration accepts the password
and disable the OK button if the password is invalid.

Bug: 163353576
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiUtilsTest
Change-Id: Ief3c6c1f08f8fcdf128768cde3ab8eef91f19fbe
2020-08-12 14:34:02 +08:00
Bonian Chen
a5f08854e3 [Settings] Inclusive language for Data Usage
Change wordings in data usage part into inclusive language.

Bug: 160707804
Test: make RunSettingsRoboTests
Change-Id: I713e52df8201413b884257a51bc1f71a0d43179d
2020-07-15 02:52:32 +00:00
markchien
e22bd7a2e8 Get entitlement configuration from intent extra
Tethering resource configuration is move from framwork to tethering
module. The resource would not be accessible from outside of tethering
module.
List the replacements of framework resources usage and intent extra:
1. R.string.config_mobile_hotspot_provision_response
    --> android.net.extra.TETHER_PROVISIONING_RESPONSE.
2. R.string.config_mobile_hotspot_provision_app_no_ui
    --> android.net.extra.TETHER_UI_PROVISIONING_APP_NAME
3. R.array.config_mobile_hotspot_provision_app
    --> android.net.extra.TETHER_SILENT_PROVISIONING_ACTION
Besides, the current active subId would put in
android.net.extra.TETHER_SUBID

Note: They are not APIs because of API freeze. Now both tethering module
and Settings define these strings independently. Will replace hard code
string as tethering module-lib APIs in b/159085857.

Also move the entitlement response intent registeration from onCreated
to onStartCommand, this can avoid wrong intent registeration if subId
changed between onCreate and when the intent arrived.

Bug: 146918263
Test: atest TetherServiceTest
      atest TetherProvisioningActivityTest

Change-Id: I3d06df01302a9c1f0893712d9250fe394dc66588
2020-06-17 05:47:17 +00:00
markchien
17feecffae Replace ConnectivityManager as TetheringManager
Tethering APIs are all move to TetheringManager from Android R.
1. Replace ConnectivityManager tethering API usage as TetheringManager.
2. Use TetheringManager#stopTethering to disable usb tethering instead
of using deprecated ConnectivityService#setUsbTethering
3. Use TetheringManager#stopTethering to disable bluetooth tethering
instead of directly use BluetoothPan#setBlueoothTethering. So bluetooth
getProfileProxy is not needed in TetherService because tethering would
do that when calling #stopTethering.
4. Also support TETHERING_ETHERNET entitlement check that
TETHERING_ETHERNET is new added from Android R.

Bug: 146918263
Test: atest TetherServiceTest
Change-Id: Id969f29d7210f2ee32719c76439049bbc86cd4f6
2020-06-11 23:36:59 +08:00
markchien
257b9bcdfa Remove schedule recheck logic from TetherService
This change just remove unused code.
Tethering no longer ask TetherService to schedule recheck
(use #EXTRA_SET_ALARM) from Android Q. Intead Tethering
(EntitlementManager) would schedule the recheck by itself.

This change is necessary in order to move the resourcesout
of the framework because TetherService needs to know when
it need to re-run entitlement recheck from framework res
(config_mobile_hotspot_provision_check_period).

Bug: 146918263
Test: atest TetherSerivceTest
Change-Id: Ie45859c19b96d0689c45dd610501fae0506742ff
2020-06-11 23:28:49 +08:00
Arc Wang
b347128bbf [Wi-Fi] Expose AP Band outside of the Advanced section
Design change for UX improvement.

Bug: 156629343
Test: manual visual
Change-Id: I4ff89eec472de699d1fa723d8369ad99b78a83a3
2020-05-18 11:13:47 +08:00
Arc Wang
31f04d1585 [Wi-Fi] Fix Wi-Fi broken tests
Bug: 150910070
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: Ie9b9384610857e2999fe4642a93c2d31ce3315f3
Merged-In: Ie9b9384610857e2999fe4642a93c2d31ce3315f3
2020-03-20 14:07:13 +00:00
Zhen Zhang
0ad0a50538 Merge "Log some actions for changing wifi hotspot config" into rvc-dev 2020-03-12 19:47:42 +00:00
Zhen Zhang
63c7c202d7 Log some actions for changing wifi hotspot config
Log following actions:
- wifi hotspot name changed
- wifi hotspot password changed

Added tests for logging actions in each controller's test.

Bug: 151113705
Test: WifiTetherSSIDPrefereceControllerTest;
WifiTetherPasswordPreferenceControllerTest;
CodeInspectionTest

Change-Id: I84b1cd8449e575a6ee1ad8868e7791dc601e726f
2020-03-12 01:06:46 -07: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
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
Arc Wang
ac5e1acfba [Wi-Fi] Control Wi-Fi Hotspot Settings using onClick instead of onSwitchToggled
In the current Settings framework onSwitchToggled has been implemented
to monitor the change in Settings done by user but its getting called
even when Settings is changed using setChecked where under certain
condition like rotation during config changed,
Tether Settings is disabled and then enabled and later before Rotation
Settings remained false due to stop Tethering with Tether Enabled
After Rotation when settings is initialized it is set as disabled
and even after receiving the Tether Enabled it remains Off.
Hence used onClick to monitor user ON/OFF Settings

Bug: 142625203
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSwitchBarControllerTest.java
Test: Manual
1. Go to Wifi Hotspot Settings
2. Turn ON
3. Change SSID and save
4. Rotate screen soon after saving
Result: Hotspot does not turn ON, remains in OFF state.
Signed-off-by:JeiFeng Lee <linger.lee@mediatek.com>

Change-Id: Ibddacdf35eb3196f40cdb2c240efa902f9123646
2020-03-05 18:21:39 +08:00
Roshan Pius
a023de72a9 Settings: Use new API for tethering auto shutdown
Bug: 148514485
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=
com.android.settings.wifi.tether.WifiTetherAutoOffPreferenceControllerTest
Test: Manually verified the toggle from Settings.
Change-Id: I5f89c6149b9f2e7145ecb1cf656adb3d3e8f1bff
2020-02-18 07:27:43 -08:00
lesl
561d041f7b tether setting: Remove dual mode check for band convert
Some conutries don't support 5G only hotspot. Thus band convert should
not only work for dual mode device. It should general design since it
will be country dependency.

Bug: 148924644
Bug: 148764406
Test: Manual Test, use command to force country
1. adb root && adb shell cmd wifi force-country-code enabled GB
2. Change Band Setting to 5G prefer

Turn on hotspot to check log and make sure it will enable succeed.
Test:make RunSettingsRoboTests ROBOTEST_FILTER=CodeInspectionTest

Change-Id: I7828c62ef399244531a72aa35c89b71549e0d623
2020-02-06 09:49:41 +00:00
TreeHugger Robot
6068d12752 Merge "Use feature flag to show/hide AllInOneTetherSettings" 2020-02-03 08:32:29 +00:00
Zhen Zhang
d2a7f9ae79 Use feature flag to show/hide AllInOneTetherSettings
This partially reverts commit 0ccc849de7
which added a config value. Instead, we will use feature flag to switch
between the fragments.

This CL also adds a postfix to keys in all_tether_prefs to
de-duplicate with keys in tether_prefs and wifi_tether_settings.

Bug: 148182953
Change-Id: I92832c786473990065a965409072e4117a7e75a8
Fix: 148618984
Test: make RunSettingsRoboTests
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CodeInspectionTest
2020-01-30 16:01:42 -08:00
David Su
8ab62a8750 Migrate WifiManager.isDualModeSupported() to isStaApConcurrencySupported()
isDualModeSupported is being removed, replace it
with isStaApConcurrencySupported.

Bug: 144925765
Test: compiles
Change-Id: Ia3a0417a154ea401579a039113e96ba4578ffd80
2020-01-29 14:46:33 -08:00
Zhen Zhang
0ccc849de7 Add config value to switch between Tether Settings UIs.
Adding this config value to make it easy to switch to developing
Tethering settings UI. Also, using this config value to make sure
that preferences from new AllInOneTetherSettings screen won't show up in
the search results.

Bug: 147915366
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CodeInspectionTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=TetehrPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest

Change-Id: I8c88816a8f2b40fc219cae8d0d442454c5270b2b
2020-01-21 07:37:56 +00:00
lesl
24a505c4eb softap: Use set/getPassphrase to replace set/getWpa2Passphrase
Bug: 142752869
Test: Manual, on/off/setting change for hotspot function
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CodeInspectionTest
Change-Id: I22c89f15a6ef1c5366394431cc5aa7031a573d45
2020-01-09 19:23:41 +08:00
Ahmed ElArabawy
2632c25f37 Wifi: Fix rototests for wifi tethering
This commit makes fixes to the wifi tethering rototests.
These fixes are done by using the proper encoding for the AP bands.

Bug: 146767071
Test: Run robotest
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I4ddf6ea9328dabed09bc23d355efa188975316b6
2019-12-30 22:55:17 -08:00
Ahmed ElArabawy
5120a342ca Wifi: Handle adding 6GHz band to SoftAP
With the support of 6GHz in Android, BAND_ANY is no longer equivalent
to 2GHz+5GHz.
This commit makes the changes to adapt with this.

Bug: 139354972
Test: Manual
Change-Id: I29263573fb900a560494a84df5a16ac0e6948f59
2019-12-16 15:40:57 -08:00
Ahmed ElArabawy
ead637e0c8 Wifi: Replace dual_band with 5GHz band support
As part of the support of the 6GHz band, the concept of dual-band is no
longer valid since we have more than 2 bands supported by Android and
can be checked on the device.

This commit replaces checks on dual-band support with an explicit check
on 5GHz band support.

Bug: 145936758
Bug: 139354972
Test: Manual
Change-Id: Ia118dedb573f61a148764146edf8091ae253a3e2
2019-12-12 16:36:23 -08:00
lesl
ff012f03a8 Wifi Setting: Use SoftApConfiguration for Tether Setting
Bug: 145578449
Test: Manual
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CodeInspectionTest
Change-Id: I02b4dcbb7b6e29b67ecc7356200f3fc3a1007562
2019-12-05 17:28:24 +08:00
James Mattis
33379b361b Swap param order in registerSoftApCallback
Moving executor to be the first argument in registerSoftApCallback.

Bug: 144379300
Test: Manually on pixel 3

Change-Id: I5563c1059cc04014a0fd909e2508f7bf497d708e
2019-11-12 22:26:33 -08:00
James Mattis
4a18957c2d SoftApCallback using executor vs handler
Updating classes to support making SoftApCallback methods available to @SystemAPI including
the API for registration of a SoftApCallback which includes a change to
now use executor vs handler.

Bug: 143564153
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
Also tested manually on a Hawk.

Change-Id: I952ad10dd88b7d97b3cd86b269b8f67b00b1fa15
2019-11-08 08:44:35 -08:00
Roshan Pius
f13145b323 Settings: Use public API for mac randomization support
Also, don't directly reference the default tether ssid overlay. This info
should always be retrieved from wifiManager.
This ensures that we don't use wifi overlays in settings.

Bug: 143464763
Test: atest com.android.server.wifi
Change-Id: I893a4ca0f4243e1eb6f9c8bef810d0b4a493fb88
2019-11-06 07:58:19 -08:00
James Mattis
b16500d595 Support for hotspot client visibility.
Adding support for visibility into clients that connect to an active hotspot.

Bug: 137309578
Test: Tested manually on a Hawk
Change-Id: Ife4bb5ca7bbcf075683cb0a233f2b5716ccd51d9
2019-10-24 17:29:16 -07:00
Paul Hu
77226593e0 Merge "[Settings] Replace CONNECTIVITY_INTERNAL to TETHER_PRIVILEGED" am: a67ca4cfd7 am: 3a728ae13b am: a6dadc465b
am: 67fe04814d

Change-Id: I27e85d6780025122b5b56c0f8f827a0a8060e955
2019-10-01 03:21:27 -07:00
Paul Hu
3a728ae13b Merge "[Settings] Replace CONNECTIVITY_INTERNAL to TETHER_PRIVILEGED"
am: a67ca4cfd7

Change-Id: I7a2a4d76d1e0092188121d390c75c12eac20cdab
2019-10-01 03:03:36 -07:00
Raff Tsai
ac3e0d0988 Directly use BaseIndexableProvider
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function

Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
2019-09-24 00:35:52 +08:00
paulhu
52d24750a4 [Settings] Replace CONNECTIVITY_INTERNAL to TETHER_PRIVILEGED
Settings is using CONNECTIVITY_INTERNAL to restrict launching
tether provisoning activity by provioning apps only. However,
CONNECTIVITY_INTERNAL will be deprecated from Android R, replace
the permission to TETHER_PRIVILEGED.

Bug: 32963470
Test: atest TetherServiceTest
Change-Id: I4c8312b92de8d5d9c9090c572e54622dc4fcf9d4
2019-09-12 17:21:43 +08:00
Raff Tsai
1f30b1cd67 Merge similar BaseSearchIndexProvider code together
Bug: 135053028
Test: robolectric, check search_index.db contains the same items
Change-Id: If3c18a170b0e671690df1fdf26e59a421d2c48cd
2019-09-12 11:09:09 +08: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
markchien
0331222483 Fix entitlement failed when device is on CBRS
When active cellular internet is switched to CBRS in DSDS case,
default data sub id may not be changed. Fix by using active
subscription id and pass this sub id to entitlement app.

Bug: 134994718
Test: atest TetherServiceTest
Test: manual test with carrer SIMs.

Change-Id: I30a1d70c0690f0dba8f4171a2bde884f9b7ccfc4
2019-06-26 17:05:48 +00:00
TreeHugger Robot
79f75e483f Merge "Add action metrics for Wi-Fi provision features" into qt-dev 2019-04-23 17:36:54 +00:00
Arc Wang
3940c331df Add action metrics for Wi-Fi provision features
// ACTION: Share a Wi-Fi network by generating a QR code
  ACTION_SETTINGS_SHARE_WIFI_QR_CODE

  // ACTION: Connect to a Wi-Fi network by scanning a QR code
  ACTION_SETTINGS_ENROLL_WIFI_QR_CODE

  // ACTION: Share Wi-Fi hotspot by generating a QR code
  ACTION_SETTINGS_SHARE_WIFI_HOTSPOT_QR_CODE

Bug: 130521826
Test: manual
Change-Id: I4204307dd5318eb7c47e4136dc7d8700d43e4da1
2019-04-19 15:28:29 +08:00
markchien
8667e01cf5 Ignore the outdated entitlement check
Don't run entitlement if the request is base on outdated subId.

Bug: 129751453
Test: -build, flash, boot
      -atest TetherServiceTest
      -manual test with carrier SIM

Change-Id: Id3157df1a5758f8c72acbc45c9fefd2215c87395
Merged-In: Id3157df1a5758f8c72acbc45c9fefd2215c87395
2019-04-18 13:53:40 +00:00
Arc Wang
2b0c8a0c6b Fix Wi-Fi QR code scanning icon disappears problem
Should not do one time initialization for the View in
Preference#onBindViewHolder. Because A view setup in
PreferenceViewHolder may be recycled.

Bug: 127502788
Test: manual
Change-Id: Iedf023fa00d2745a02521b65e5c12165c2bc025b
2019-04-10 14:20:11 +08:00
Arc Wang
25595994b7 Add divider line in Preference for scan QR code button and share hotspot button
Use com.android.settingslib.R.layout.preference_two_target in
WifiTetherSsidPreference to add divider line.

Bug: 128940862
Test: manual test
Change-Id: I46dabcee31a91b68b8c2e57c9840a59f8a1be304
2019-03-22 18:06:11 +08:00
TreeHugger Robot
c74577eacf Merge "Revert "Add divider line in Preference for scan QR code button and share hotspot button"" 2019-03-22 08:18:16 +00:00
Arc Wang
8040f4c59f Revert "Add divider line in Preference for scan QR code button and share hotspot button"
This reverts commit 890f3a4340.

Reason for revert: I find a UI defect in this fix.

Change-Id: Icdbb1d2b5319636b8c4c54bcdc0fc3562585a15a
2019-03-22 05:36:59 +00:00
Arc Wang
d2405c7328 Merge "Improve Wi-Fi Easy Connect lock screen UI information" 2019-03-22 02:19:48 +00:00
Arc Wang
abfd8ab726 Improve Wi-Fi Easy Connect lock screen UI information
1. Change lock screen title and remove description
2. In QR code generator screen, change summary and show password under QR code picture

Bug: 128920152
Bug: 128576809
Test: manual test
Change-Id: Id096d7f417308df14ffe50c618644750aa991df8
2019-03-21 14:09:22 +08:00