Force a garbage collection and zeroize some fields after Activity finishes
Test: Goes through password change flow, then grab a heap dump via
adb shell 'am dumpheap $(pidof com.android.settings)
/data/local/tmp/settings.hprof'
And grep for password in the dump
Bug: 144537463
Change-Id: Idd0a04ada98900aeb2a6d20bb1270a4a4aec2cfd
This reverts commit 521ebeafd3.
Reason for revert: to fix b/157880043
Bug: 157880043
Test: test legacy UI. PASS
Change-Id: I4116457a1f7fc0a3be142671c5d0439cd6bdf11d
1. only make the output switcher tall enough to show 6.5 devices
2. enlarge album art to 52*52 and keep same size on group panel
3. reduce panel header top padding
4. enlarge slice first item top padding
5. update slider bar right padding
6. update panel height
7. align slice title item left with panel title icon
8. enlarge slice end item right padding
Bug: 156045699
Test: manual test
Change-Id: I51321d98ef483665689b7e258d6071df76382759
-Add "VIEW_TYPE_SLIDER_LARGE_ICON" to be a new panel type which would enlarge its title icon
-Set "VIEW_TYPE_SLIDER_LARGE_ICON" to MediaOutputPanel and MediaOutputGroupPanel
-Extend slider style and add customized icon size
-Add test cases
Bug: 157208551
Test: make -j42 RunSettingsRoboTests
Change-Id: I9b4de4aa552e8b26e766411f7eff93ea1a2d1910
This was done for permissions summary inside PermissionController, so
also do it in Settings.
Bug: 153804329
Test: manually confirm that the summary matches what linguist
suggested after fix
Change-Id: I650fbed4488abfd871adafba5afb1ae9a2995c62
Slices should be pinned before being bound. The original design calls
registerSliceCallback() to pin a slice, and then calls bindSlice() and
passes the result to the callback directly. When the callback is
called, it executes unregisterSliceCallback() and unpins the slice.
However, registerSliceCallback() starts to observe the slice change and
then rebind it in an AsyncTask. If the slice is updating via its
background worker and the timing of the binding overlaps the callback
execution, it's possible to bind the slice right after unpinning it and
causes the error.
The solution is to remove the callback mechanism, and just to pin, bind
and unpin the slice directly.
Fixes: 157387583
Test: robotest
Change-Id: I8748dd3038a3662599935f07420d07cf254a4073
This is a terminal case for both authentication as well as the
activity itself, so this should be safe.
Fixes: 158635014
Test: Builds
Change-Id: Ieef1ab305e6518dbc0ae34ad59d52da82895972a
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
The bottleneck is getting LocalBluetoothManager the first time.
1. Initialize LocalBluetoothManager earlier and asynchronously.
2. Don't block in slice's constructor and getSlice().
- Initialize the bt updaters until the manager is ready.
- Just show a header if the manager is not ready yet.
Fixes: 157702021
Test: robotest
Change-Id: I427df55f259b45ba4c37557b22e09dcc24079e93
As requested by framework team, the mainline module should be considered
as system apps and not stoppable and disable-able. Since many of these
modules provide critical functionality, disabling them can result in a
very unstable device.
According to the request, Settings will apply below changes to App info
page for protecting mainline modules:
- Hide "Force stop" and "Disable" in App info.
- Disable "Clear storage" and "Clear cache" in "Storage & cache".
Since the mainline module checking API interface changed, also change
the dependent files and test cases.
Fixes: 156955322
Test: robotest and verify "Cell Broadcast Service" in App info
Change-Id: Ibc239bdaf3364eda541a33add382364cfdc6fc9b
Events such as adbd restarts can change the connection port. We need
to update the UI accordingly.
Bug: 158219145
Test: Manual.
1) Enable wireless debugging in Settings and validate port in UI via
> adb shell su 0 netstat -plnt | grep LISTEN
2) Restart adbd: > adb root
3) validate port again (may have changed)
Change-Id: I93339a6a258fbf69fa3f45186863a01126d279ce
config_mobile_hotspot_provision_app would be move out of framework and
only private for tethering only. TetherUtil#isProvisioningNeeded and
isProvisioningNeededButUnavailable are no longer needed because
tethering would ensure entitlement app is valid if entitlement check is
needed. Otherwise, tethering would return not supported that tethering
settings would be hidden.
Bug: 146918263
Test: m
Change-Id: If0b0a3e6cadab3c4a4d2c003e2aa9e9f3dd7449c
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
Also disable clicking the header view and list items in the same view.
Bug: 156671006
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SharedDataPreferenceControllerTest
Test: manual (visual)
Change-Id: I2821bc6cdc523097283ab44b864088278850be53
- Extract user setup prompt dialog creation logic
- Move user setup prompt dialog showing to UserDetailsSettings
- Rename user click and creation related methods to improve readability
- Set "disabled by admin" for switch pref when switch is disabled
- Cleanup UserSettings and UserDetailsSettings onPreferenceClick
- After a guest is created the details page opens instead of switching
Test: Manual test and robo tests with this command:
make -j64 RunSettingsRoboTests
Demo: http://shortn/_ACYsnbIKO9
Bug: 156867277
Change-Id: Ifa0cdefcd49d5b865e940a7cc332136ed26ecf57
Don't filter out apps have don't have any usage events -
the package's notifications are still blocked
Test: atest, and verify that the packages match the 'blocked
count' subtext on the previous screen on an affected device
Fixes: 158343184
Change-Id: Iac01708849e3ae0b82f97db679ce512fc9675a17
- 3rd party developers can define himself-authenticator
and use the accountPreferences attribute to load the
predefined preference UI.
- If a developer defines an action intent to launch the
other activity in xml and it would return true due
to the true exported attribute and no permission.
- To avoid launching arbitrary activity. Here allows
to launch only authenticator owned activities.
Bug: 150946634
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.accounts
Test: PoC app
Change-Id: I5ce1a0b3838db7b3fbe48c6ea23d5f093d625cdb
Merged-In: I5ce1a0b3838db7b3fbe48c6ea23d5f093d625cdb
(cherry picked from commit d6d8f98844)
- 3rd party developers can define himself-authenticator
and use the accountPreferences attribute to load the
predefined preference UI.
- If a developer defines an action intent to launch the
other activity in xml and it would return true due
to the true exported attribute and no permission.
- To avoid launching arbitrary activity. Here allows
to launch only authenticator owned activities.
Bug: 150946634
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.accounts
Test: PoC app
Change-Id: I5ce1a0b3838db7b3fbe48c6ea23d5f093d625cdb
Merged-In: I5ce1a0b3838db7b3fbe48c6ea23d5f093d625cdb
(cherry picked from commit d6d8f98844)
- 3rd party developers can define himself-authenticator
and use the accountPreferences attribute to load the
predefined preference UI.
- If a developer defines an action intent to launch the
other activity in xml and it would return true due
to the true exported attribute and no permission.
- To avoid launching arbitrary activity. Here allows
to launch only authenticator owned activities.
Bug: 150946634
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.accounts
Test: PoC app
Change-Id: I5ce1a0b3838db7b3fbe48c6ea23d5f093d625cdb
Merged-In: I5ce1a0b3838db7b3fbe48c6ea23d5f093d625cdb
(cherry picked from commit d6d8f98844)
- The "Smart Lock" item is a trust agent which comes from
TrustAgentManager, so add it to dynamic index.
Fixes: 148867137
Test: manual test the search result and run Settings robotest
Change-Id: I7cd3a9df89a9b9378fa49cc2cb2127c778b795f2