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
* 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
Connection failure (similar to connection success) is the end of the
processng of a request. We should dismiss the dialog on connection
failure.
Bug: 158844146
Bug: 158616070
Test: Manual tests - Simulate connection failure and ensure that the
dialog vanishes with a toast.
Change-Id: I625ca76298ed549dbed76d398aea0c957c9102fc
Merged-In: I625ca76298ed549dbed76d398aea0c957c9102fc
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
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
For better user experience, recover the dialog focus command to get password field focused.
Bug: 158393164
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test
Change-Id: I343a7b43bd1ad2478991051b0bd8ef6082f75dc1
WifiSettings2 should create a new WifiEntryPreference for a cached
WifiEntry key in case the underlying object has changed, so that updates
to the WifiEntry are still being listened to. This may happen
in situations where WifiPickerTracker swaps WifiEntries objects with the same
key in the getWifiEntries() list, such as when handling network
suggestions (which are kept as separate objects from the non-suggestion
entries).
Bug: 157174114
Test: manual visual verification in wifi picker of adding a network
suggestion and seeing the entry summary for that SSID change to the
suggestion summary.
Change-Id: I9cfdae8207ae919e9e1cbf4c200eaa951a229b3f
Merged-In: I48ac11364b06887cc4059bcda863b456e206c9bd
Should quit worker thread when a fragment is about to
be destroyed.
Bug: 152454787
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AddAppNetworksFragmentTest
Change-Id: I809511b7f7c092cf9787e8f6bb7c7513c27c98c8
- Reload theme in slice provider when Dark theme mode changes for slices
- Reload theme in onCreate of Panel activity for its non-slice header
- Remove applyTheme from individual slices
Test: robotest
Fixes: 153700819
Change-Id: I40a7d2817c4b9100d7b2f2962a69c8a9ce6f7906
Add new unit test cases in
1. WifiP2pSettingsTest.java
2. WifiConfigController2Test.java
3. WifiP2PPreferenceControllerTest.java
4. WifiP2pPeerTest.java
the coverage rate of
1. com.android.settings.wifi will raise from 44% to 45%
2. com.android.settings.wifi.P2p will raise from 69% to 85%
Bug: 151696220
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pPeerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2PPreferenceControllerTest
Change-Id: I365494e1654376b23b08f18b1a799ffc59323a4c
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
Add new unit test cases in WifiP2pSettingsTest.java, the coverage rate will raise from 30% to 71%.
Bug: 151696220
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
Change-Id: I214866efae47a99e75178beca48deb398b70f9bd
We would like to remove all sub-text from Settings Search. But slice
view does not support API to configure the sub-text visibility.
Therefore, the only way is to remove the sub-text from slices directly.
Since Settings slices are also invoked by other apps, we can not
directly remove the sub-text.
Finally, we decide to check the caller's uid. If it comes from Settings
Search, we will return the slice without the sub-text.
Bug: 143118037
Test: visual, robotests
Change-Id: Iac72f1683a2c930592634e0599058890d86f669d
When the Wi-Fi network is disabled because of authentication failures,
Wi-Fi picker should show editor before connecting or the network will
always fail to connect.
Bug: 112137755
Test: atest com.android.wifitrackerlib.StandardWifiEntryTest
Change-Id: I0ae42e7974e6bd2548e7f2595c6ae71a73398030
Migrating from Wi-Fi SettingsLib to to WifiTrackerLib, there are
both some Settings files of both version. Developers should
develop on new version files.
Bug: 152571756
Test: compile
Change-Id: I4446e2e333663bf69daa1ceff102775889021851
Add new unit test file WifiP2pSettingsTest.java.
Bug: 151696220
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
Change-Id: I686658969a801e385a102022c6854d8bb8972d3c
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
When users click a Wi-Fi network and it's
WifiConfiguration.getNetworkSelectionStatus().hasEverConnected()
is false, WifiSettings2 will launch the Wi-Fi edit UI for users
to edit password again.
It's not necessary to show the Wi-Fi edit UI if the Wi-Fi network
is a open network.
Bug: 154548505
Test: manual
Click a never connected secure Wi-Fi and edit UI shows.
Click a never connected open Wi-Fi and edit UI does not show.
Change-Id: Ie8489aff001942f92fbfaafd772f84b1b4a09cf4
* 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
When an admin disallows the user from configuring tethering, the
user should still be able to configure wifi.
When an admin disallows wifi configuration, the behavior is
unchanged: the toggle stays enabled and allows the user to turn
wifi on and off, but clicking on the text results in admin
transparency dialog, so the user won't be able to change wifi
config.
Bug: 149481093
Test: manual with TestDPC as the device owner
Change-Id: I6b33e43901454125c7f3f4dd3c70f050997e4e71
When rotating an androidx fragment, it uses default constructor
to instantiate the new fragment instance. Every androidx fragment
should not set private scope to it's default constructor.
Bug: 153824549
Test: make RunSettingsRoboTests ROBOTEST_FILTER=NetworkRequestErrorDialogFragmentTest
Change-Id: Ie1be0e033aa85d37cb4d85193b05beab72d4d8e7
Should not scroll to bottom since Hidden network option
is not at the bottom most.
Bug: 148036155
Test: manual
Wi-Fi Setings -> Add network -> Advanced options ->
click 'Hidden network' Yes -> should not scroll to bottom.
Change-Id: I6511f75441ebad62e2c28df76a39d702d78898a6
When users select edit a Wi-Fi and select enterprise security,
there are multiple spinner shows with a default value.
This change does not allow TalkBack to speak out for multiple
Spinner text at one user selection.
Bug: 153272108
Test: manual
Wi-Fi Settings -> Add network -> Security spinner
-> WPA/WPA2/WPA3-Enterprise
TalkBack should only speak out for the Security spinner.
Change-Id: Id9ab44e4da6d7abb5168e0ab7441ee1e226f5f68
The Openroaming help button should show only when the getHelpUriString() value is not null, and need to handle the click event in Settings APP.
Bug: 146669261
Test: Adjust unit test cases:
1. make RunSettingsRoboTests ROBOTEST_FILTER=WifiEntryPreferenceTest
2. make RunSettingsRoboTests ROBOTEST_FILTER=WifiSettings2Test
Change-Id: I27a717c3014b01cc464908bac56f64bd08aa5da3