Prior to this cl, we use #getPackagesForUid()
to get a list of calling package names and
pick up 1st package name in the list as target
calling package. And then go to check the
Wi-Fi permission.
This implementation is ok for most apps without
sharing system uid. However, this may not work
if the package is set with sharing system ui.
In this case, we get a list of packages
and we don't know which one is caller. So, if we
decide to choose the 1st package as our
calling package, then it could fail to pass
permission check since that package could be not
a correct calling package.
In this cl, we skip permission check for those
packages running with system uid. So, it can resolve
Wi-Fi Panel problem since Wi-Fi panel runs
on settings process(with system uid).
Test: 1. adb shell am start -a android.settings.panel.action.WIFI
2. Verify on assistant app and system ui launcher and search app.
Bug: 240531998
Change-Id: Ia825853dde2e966e3d390cecfbe1a99f6439d31e
Merged-In: Ia825853dde2e966e3d390cecfbe1a99f6439d31e
1. Replace InstrumentedDialogFragment by SettingsPreferenceFragment.
Enable the capability of shirnking the size of title.
2. Move switch bar into Preference.
Enlarge scrollable area within this UI page.
Bug: 224661026
Test: local
Change-Id: I6e0a491721e9f93858c389593b2bb891f6fa8f8d
- If Wi-Fi tethering is enabled or enabling, avoid to startTethering again.
- If Wi-Fi tethering is disabled or disabling, avoid to stopTethering again.
- Add more logs to know which module stopped Tethering.
Bug: 230457055
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSwitchBarControllerTest
Change-Id: I51d42ac0117d935ecaa9fa7312acc646b43d3593
- Activity#getCallingPackage will return null in some special cases, use the launched package instead.
Bug: 194709435
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiScanModeActivityTest
Change-Id: I4f22bab7592dedf75dd36daf5e18dbc934bc8655
When the presenter app doesn't have certain permissions,
it's safer to go with a generic fallback slice
which just redirects user to the actual settings page.
Test: test on the presenter app. robo test
Fix: 178014725
Change-Id: I6f5358af2e00cb2fedba0b3f1474a026135986c6
- Hide Wi-Fi toggle and show restriction message in the Wi-Fi slice if Wi-Fi state is disallowed to change
- See the result screenshot in b/203168097#comment30
Bug: 203168097
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiSliceTest
Change-Id: I09ccb6349dadf64a2f903245ba203ce77c86d1e1
- Remove Wi-Fi hotspot preferences in settings search if Wi-Fi hotspot is disallowed
- See the result screenshot in b/203168953#comment12
Bug: 203168953
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest
Change-Id: Id4416fd0659b596e4e6f31890a139198219f4552
- See the result screenshot in b/203168953#comment9
Bug: 203168953
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiP2PPreferenceControllerTest
Change-Id: I87ad6d7554fbb4aa86d4617438fa359c67544812
- Refine WifiTetherPreferenceController
- See the result screenshot in b/203168953#comment8
Bug: 203168953
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
Change-Id: If094178eb0cd9ccf20ff3899dc4b087b45c66f6b
- Launched package require ACCESS_WIFI_STATE and ACCESS_FINE_LOCATION permissions to get results
Bug: 187176859
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiDppQrCodeScannerFragmentTest
Change-Id: Ie80c4e5b3a5863749de518e4736873390478816e
Prior to this cl, slice provider always exposes wifi slice
to calling package without confirming any wifi permissions.
For current solution, we will check calling package's permission state
and decide whether slice provider should expose wifi slice or not.
Because settings search is a part of settings app,
this permission checker won't be applied to settings intelligence.
Test: manual, robotest, cts
Also run manul
Bug: 178014725
Change-Id: I2770b5b43366a5aa65c7519efc4243d350a21b26
- Filter out unnecessary onSwitchChanged callbacks when the switch is
disabled, which should not be triggered by user input.
- Refine the state handling function to avoid unnecessary
onSwitchChanged callback.
- Refine the error handling of isHotspotPasswordValid function.
Bug: 227719584
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiTetherSwitchBarControllerTest
Change-Id: If62aaadc8ddb214769b1367d7801b6125bb5377c
- Use WifiEntry#canConnect() to determine if the network can be
connected.
- Add WiFi network but don't connect if WiFi restricted connection.
- See the result screenshot in b/203168943#comment16
Bug: 203168938
Bug: 203168943
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiDppQrCodeScannerFragmentTest
Change-Id: I06d1e832176e540ddd1adce8da46ef8659534ab7
Rotating screen, wifi p2p setting fragement will be re-created and the selected wifi p2p device will be saved in onSaveInstanceState. However, now this saved wifi p2p device is restored in onActivityCreated, this is too late. So when getting this saved wifi p2p device return NULL in onCreateDialog and leads to NPE force close.
Restore the saved wifi p2p device in onCreateView instead of onActivityCreated.
Bug: 220025725
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
Change-Id: I9b746e21f7f3651c69b1445f2389c089ec19319c
Rotating screen will trigger wifisettings re-creation. Force close occurs If receiving wifi picker tracker callback during activity finishing.
Bug: 218411211
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiSettingsTest
Change-Id: I06d251a8a12d3f8785db24ead0abe31c0f34cc9b
- The Wi-Fi hotspot switch only handles the click event from the UI.
- Use the onSwitchChanged callback to handle click and swipe events.
Bug: 218891956
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiTetherSwitchBarControllerTest
Change-Id: Ie4136443845489be295a8ee0f3058f493a3b5829
- The Wi-Fi Enterprise Restrictions add a new
UserManager.DISALLOW_ADD_WIFI_CONFIG restriction from T.
- When a user requests to add Wi-Fi configuration, Settings will
reject the request if the user is not allowed.
- The above restriction need to be retrieved in advance so that the
user's request will not be rejected.
- See the result screenshot in b/224459753#comment8
Bug: 224459753
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=AddAppNetworksActivity
Change-Id: I2dfb6b9946dd9dbd4eb8bf0f6549ac5cb4466f17
- When the user requests "try again", the Network-Request-Dialog will be
recreated. If the Wi-Fi framework sends the callback result at this
time, the Network-Request-Dialog may not be ready at the moment,
causing the NPE to crash.
- Add NPE checks to avoid crash issues.
Bug: 220679437
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=NetworkRequestDialogActivityTest
Change-Id: I8e48a29649e72d9f8c67c4ac24f0eb27ba600dae
- Use StandardWifiEntry#canConnect() to determine if the network should
be disabled or not.
- Use StandardWifiEntry#getSummary() to retrieve the restriction message.
- Disabled WiFi network if it cannot connect.
- If WiFi network is connected or saved network, leave it enabled to
disconnect or configure.
- See the result screenshot in b/203168943#comment11
Bug: 203168938
Bug: 203168943
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=LongPressWifiEntryPreferenceTest
make RunSettingsRoboTests ROBOTEST_FILTER=NetworkProviderSettingsTest
Merged-In: I04aafaa5b383598a0f87eea15d06b38bbc662b9e
Change-Id: I04aafaa5b383598a0f87eea15d06b38bbc662b9e
(cherry picked from commit f86bdc9c69)
P2P dialog is moved to an indenpendent activity, it will push Settings
to background and trigger onPause(). As P2P dialog is a Dialog Activity,
it won't trigger onStop, but SoftAp and NAN activity will. Moving
channel closing to onStop to adapt to new P2P dialog design.
Bug: 219406778
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest
create a p2p connection between 2 devices with this build.
Change-Id: I2fab5aa1021ec1a993f811c7310079db9d7f03c0
- Security team add new interface to Context.registerReceiver() with a
third parameter for new security design.
- The new interface might have some issues in the test environment.
- Spy the registerReceiver() and unregisterReceiver() to avoid
unexpected issues.
Bug: 214938188
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiSummaryUpdaterTest
Change-Id: Ibd1c5c1f7b4309ad5079f33bb232f249c6bd997f
Bug: 214938188
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=NetworkRequestDialogActivityTest
make RunSettingsRoboTests ROBOTEST_FILTER=NetworkRequestDialogFragmentTest
make RunSettingsRoboTests ROBOTEST_FILTER=NetworkRequestErrorDialogFragmentTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiConnectionPreferenceControllerTest
Change-Id: I4c15c2a095203338bb9cf7bcd359242d59bf8b4e
Bug: 214938188
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=AddNetworkFragmentTest
make RunSettingsRoboTests ROBOTEST_FILTER=ConfigureWifiEntryFragmentTest
make RunSettingsRoboTests ROBOTEST_FILTER=ContextualWifiSliceTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiSliceTest
Change-Id: I96873c48b36ed11b30e32bba1b98b6328ad17bb7
- Security team add new interface to Context.registerReceiver() with a
third parameter.
- The new interface might have some issues in the test environment.
- Spy the registerReceiver() and unregisterReceiver() to avoid
unexpected issues.
Bug: 214938188
Test: manual test
make RunSettingsRoboTests
ROBOTEST_FILTER=WifiPrimarySwitchPreferenceControllerTest
Change-Id: I5bf9fc860a3de99145bc7535ba57cb514b403966
- The ShadowWifiManager class is not working as expected
- The getSystemService(WifiManager.class) return null when testing
- Use Mockito class instead of Shadow class
Bug: 214906101
Bug: 214938188
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=AllInOneTetherSettingsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest
Change-Id: Ic54af8524fbff1b6ac916ca8e1bcac52f413663a