The new file contains all contract constants for external usages (e.g.
slice, external Get/Set API). Also reuse existing constants in
SettingsSlicesContract.
NO_IFTTT=Catalyst only
Bug: 388061003
Flag: EXEMPT refactor
Test: atest
Change-Id: I449b7b6cf82e1e102f2c96a21835191605f09943
- When satellite mode is switched on Wifi, and APM entry shall show the warning dialog and avoid user uses these functions.
Bug: 337154438
Test: Manual test.
Test: atest pass
Change-Id: I45cd92a8688e7a619613361ea4a8d58a0984d99f
- Show Hotspot device type icons without signal strength (no Wi-Fi level)
Bug: 268550769
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiSliceTest
Change-Id: I2a707cf20fc1a6d519ef5ca54db64e913daec969
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 caller is set as 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 of list as our
calling package, then it could fail to pass
permission check since that package could not
a calling package.
In this cl, we skip permission check for those
packages running with system uid. So, it can resolve
this Wi-Fi Panel problem since Wi-Fi panel running
on settings process and also promise the security
issue at the same time.
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
- Hide Wi-Fi toggle and show Wi-Fi status only if the user is a guest.
Bug: 232798363
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiSliceTest
Change-Id: I35418477808eb5082f4651f5689f018dbb8e42ac
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
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
- Need to export the interface to Quick Settings to launch Wi-Fi Network
details settings.
- Rename WifiNetworkDetailsFragment.class
Bug: 191475923
Test: manual test with the topic CLs.
make RunSettingsRoboTests
atest -c SettingsUnitTests:com.android.settings.wifi \
SettingsUnitTests:com.android.settings.network
Change-Id: Id2fd8c9b3b113ffbb49168305b05c67392fa4d87
(cherry picked from commit e8a4e13a80)
Panel only
- Display the close icon on the Wi-Fi network connected to the Internet,
and performs the same action as tapping on the carrier network when
tapped it.
- Display the cog icon on the Wi-Fi network if it has no the Internet
access.
- Screenshot:
https://screenshot.googleplex.com/YBQ8onG2dFJ8Q2a
Bug: 187995278
Test: manual test
atest -c ProviderModelSliceTest
Change-Id: Id54a94c1fdfc37aff5cc37d6fb9f5478c0dccb00
- Check the Wifi network have both INTERNET and VALIDATED capabilities
to achieve effective network access
- Move the Internet unavailable Wi-Fi down to the top of Wi-Fi list
- Don't paint color for the Internet unavailable Wi-Fi
- Screenshot:
https://screenshot.googleplex.com/w82kbALssdTZmg4
Bug: 178457619
Bug: 178926547
Bug: 178978070
Test: manual test on device
atest -c InternetUpdaterTest \
NetworkProviderWorkerTest \
ProviderModelSliceTest
Change-Id: Idf04e556ab5a87abc5bc96d1934f5e8fd91fbfaa
Starting Android S, PendeingIntent should have a explicit mutability
flag to avoid vulnerability.
Fixes: 172204181
Test: 1. adb shell am start -a
android.settings.panel.action.INTERNET_CONNECTIVITY and play on the wifi
panel.
2. Enable contextualWifiSlice and play on it.
3. Adjust volume on the volume panel.
Change-Id: I23f03cae8c481d9f5836b7fb967f734e9c99cd65
- Request from Android Platform Security team.
go/immutable-pendingintents
Bug: 170162129
Test:
1. adb shell am start -a
android.settings.panel.action.INTERNET_CONNECTIVITY
2. make RunSettingsRoboTests ROBOTEST_FILTER=WifiSliceTest
Change-Id: If3032959649206f2fb6736244d7aa8b9a8419378
This change uses WifiTrackerLib's WifiPickerTracker & WifiEntry
to replace SettingLib's WifiTracker & AccessPoint.
This change includes
1. WifiScanWorker has the callbacks similar to a lifecycle component
but it's not a lifecycle component. Let WifiScanWorker implements
LifecycleOwner and provides #getLifecycle() for WifiPickerTracker.
2. Remove captive portal related code because WifiEntry#connect will
handle captive portal login if it's necessary.
3. Create WifiSliceItem to wrap WifiEntry because WifiEntry is an
abstract object and it does not provide copy constructor.
Without copy construcor, Wi-Fi Slice may show unexpected information
when a WifiEntry is updated.
Bug: 155613549
Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.slice
make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I2d66ea4905daca3244ec4cf8f2935cda817480b1
This reverts commit 7b1aded2a6.
Reason for revert: Settings is crashing for WiFi selection in SetupWizard on wembley
Bug: 161434533
Change-Id: I1d90e9bae1b31862fba674db0d7497e43f987a7f
Test: Locally reverted, reflashed, and was able to select WiFi without Settings crashing.
Exempt-From-Owner-Approval: Revert to clear up P0 while all owners are outside of work hours
This change uses WifiTrackerLib's WifiPickerTracker & WifiEntry
to replace SettingLib's WifiTracker & AccessPoint.
This change includes
1. WifiScanWorker has the callbacks similar to a lifecycle component
but it's not a lifecycle component. Let WifiScanWorker implements
LifecycleOwner and provides #getLifecycle() for WifiPickerTracker.
2. Remove captive portal related code because WifiEntry#connect will
handle captive portal login if it's necessary.
3. Create WifiSliceItem to wrap WifiEntry because WifiEntry is an
abstract object and it does not provide copy constructor.
Without copy construcor, Wi-Fi Slice may show unexpected information
when a WifiEntry is updated.
4. Use WifiTrackerLib's NetworkDetailsTracker & WifiEntry in
WifiDialogActivity because it gets a WifiEntry key from Wi-Fi Slice.
NetworkDetailsTracker can get the WifiEntry of th key.
Bug: 155613549
Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.slice
make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I0718f4647cea007a9b701922f3121a388dd43918
- 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
Wi-Fi slice does not been applied to WifiTracker2, should not
launch the UI component for WifiTracker2.
Bug: 151065311
Test: manual
Settings -> disable/enable Wi-Fi -> click the connected Wi-Fi
See if Wi-Fi detail carshed.
Change-Id: I9cea305db85aab1bb694c21f95b81afd6a35321e
- always show Wi-Fi card
- collapse the card in the new UI session when connecting to a stable
network
- hide toggle, show a level icon and subtext in the new collapsed mode
- show loading row when the AP list is not full
Test: robotest
Fixes: 147473096
Change-Id: I893064ef04d40d8e7cb8e62c1e72a2cb5e97f6ac
Create below version 2 files for WifiTracker2 development, we can
check the feature flag only a few times and easily remove version 1
files in the future.
src/com/android/settings/wifi/details2/
src/com/android/settings/wifi/savedaccesspoints2/
tests/robotests/src/com/android/settings/wifi/details2/
tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/
Bug: 143326832
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi.details2
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi.savedaccesspoints2
Change-Id: I4d2caf1ce313871605252395764b02747240f217
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
- 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
- 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)
Wifi slice didn't have a bunch of keywords for search, so users have to
type full matched text to search for wifi setting. We added keywords for
wifi slice to fix it, in which keywords are defined in strings.xml.
Fixes: 109922806
Test: rebuild
Change-Id: Ibe3b65c186cf6f43ae744c1f478d8985e270374c
- AccessPoint treats connected and connecting as equal so slice doesn't
refresh in this case
- Add a new method to determine if two lists are the same in SliceBackgroundWorker
- WifiScanWorker overrides this method to check the access point states
Fixes: 123941320
Test: robotest
Change-Id: I78d610da4b6b1d40f5785ba6701fb71b987fe31c
- remove the gear icon from the active access point
- do not show any icon for the active access point
Fixes: 126458943
Test: robotest
Change-Id: Ibb57c6e1e1840e54266b49e0f092839a9c145187
1. Change the font color to be secondary
2. Align the left to the AP list title
3. Update the font for Wi-Fi list to be body font - Roboto regular 14dp
Fixes: 124468947
Test: robotest
Change-Id: I9f41925f7e3938bdf3f444b09eab33d6bf479f57
WifiSlice is used by both ContextualWifiSlice and WifiSlice itself.
In contextual homepage, we provide contextual_wifi slice for the
homepage. So in our slice pre-check, contextual_wifi slice will gets
pinned and bound. But when it comes to the state where wifi is on but
not connected, it actually returns wifi slice instead of contextual_wifi
slice, which will hit slice not pinned exception as wifi slice never
gets pinned.
Thus, we have to dynamically return the corresponding uri to avoid this.
Fixes: 124627340
Test: robotests
Change-Id: I54ba255871628bb8eb814442f990a5d1149461e0
- Update conditional card layout
- move action button from right side to bottom.
- Get rid of the forking between small/big screens.
- Update a few icons
Fixes: 121189136
Fixes: 124315564
Fixes: 124316920
Test: visual
Change-Id: I205d9995a2d7ed06ad9d32f3cea74f2840a28aed
- Remove sub-text from the lines of AP list
- Add colors to the AP names to indicate the connection status of each AP
Fixes: 120685004
Bug: 120786304
Test: make RunSettingsRoboTests -j
Change-Id: I7b879248528a293d14d959994bb054275f0d69a1
Build the special case mobile data slice for general use,
and for the Internet Connectivity Panel. The Slice controls
the default data subscription, and links to the subscriptions
page.
Bug: 117804089
Fixse: 119411534
Test: robotests & test app.
Change-Id: I31b524a8fe3182a244d940848090e97250632f39