The beforeText in a text changed event was coming from
the underlying CharSequence, not what was on the screen.
As a result, it was not sent for password fields. Now
we just provide whatever is on the screen, which is
obfuscated to the same degree it is for a user looking
at the screen.
Bug: 75324441
Test: Verified with password field in TalkBack sample app.
Also atest CtsAccessibilityServiceTestCases
Change-Id: Ib7a10313d2f9d0e44d2052e81e47f19967a67bc4
Add usage stats tracking of screen time. There are two new
events, one for when the device is an interactive state, the
other for when it is non-interactive. Also add a whole new
usage stats API for retrieving aggregated data that is associated
with general events, not particular packages. In this case
it allows you to find the time the device spent interactive
and non-interactive and the count of the transitions in to
each of those states.
Bug: 74404949
Test: atest CtsUsageStatsTestCases:UsageStatsTest\#testInteractiveEvents
Change-Id: Ibe6d55e2aecb0c8519b1358644378ec5c7a4250d
Display timeout does not lock the keyguard, which means that
activities won't immediatelly disappear.
We need to factor AOD into to equation to make sure that
the user won't see phantom activities under the status bar
window when the display times out.
Fixes: 73120928
Test: open Settings, wait for display timeout
Test: Wait for display timeout, press power, see launcher
Test: Launch maps, start navigation (FLAG_SHOW_WHEN_LOCKED)
Test: Go to AOD, press power button: activity is occluding keyguard
Test: Press home: bouncer shows up
Test: Unlock: maps goes into pip mode
Test: Go to AOD and back to lock screen: keyguard visible
Test: Expand maps, go to AOD, back to lock screen: maps is occluding keyguard
Change-Id: I9b7512313af2f851d8788ec53de7880bce3bed2c
Record USB data link state in addition to plug & charging state, since
modern USB controller can keep USB data link connected with minimum
current. Device is not acutally charging at those times.
Test: manual
Fixes: 76209292
Change-Id: I0710d547399a631d594488a524682ccc32a25ce6
When a dataset is selected, the framework tries to autofill all views belonging
to it. But if one (or more view) failed to autofill, we should let the user
recover by tapping the view again.
This scenario typically happens when views are recycled.
Test: atest MutableAutofillIdTest#testViewGoneDuringAutofillCanStillBeFilled
Test: atest CtsAutoFillServiceTestCases # manually retrying flaky failures
Fixes: 76149637
Change-Id: I7a6352c68b4a7d5e4cb80a7346c66efd831f21c8
Spec: go/ebs-low-battery-mode-flow
- Basically when the user manually enables battery saver 4 times,
we show this notification to suggest turning on "scheduled"
(i.e. auto) battery saver.
- We show it through 8th time. If the user hits "no thanks",
or if auto-saver is enabled already, we will not show it.
- Introduced a new notification channel "HINTS" with
IMPORTANCE_DEFAULT.
Bug: 74120126
Test: Manual test with ll development/scripts/battery_simulator.py
Change-Id: I713abc59dc7caee6882ba848c3e3aabaf778c2bd
We can't browse public volumes mounted for a different user, so don't
return an Intent claiming that we can, since it'll just fail.
Test: manual
Bug: 74056525
Change-Id: Iba4e52c2672258b981d2912875e55949bb35e310
New lower-level security fixes are blocking access, so make these
upper-level APIs reflect those properties.
Test: manual
Bug: 68857050
Change-Id: I81160755180f4f419d8577ea1f18a6ece10c560c
- Add @Nullable/@NonNull to input arguments for APIs
- Remove deprecated methods openBasicChannel(aid) and
openLogicalChannel(aid)
- SecureElementListener is converted to a stand-alone interface
- serviceConnected() callback is renamed to onServiceConnected()
Bug: 64994044
Test: Run Cts Test
Change-Id: I503044a26a81dae8befb87fb8e8ac96d19de883b
(cherry picked from commit d785fc4f6d)
There is no point in displaying the magnifier when the text is large
enough. In this CL we are using the font metrics of the TextView to
decide whether the magnifier should be displayed or not.
Bug: 70608551
Test: manual testing
Change-Id: Icb2fb4412b6b930dfb3322e51fd0139152cf9d39
The content resolver can throw in some instances when using the blocked
number provider. Rather than crashing all of telecom, adding exception
handling to provide graceful fallback in these cases.
Test: Compile / build
Bug: 74965829
Merged-In: Iae4c2dfc912e0d2a4194deb62568ee2f78ce4e22
Change-Id: Iae4c2dfc912e0d2a4194deb62568ee2f78ce4e22
(cherry picked from commit b408ebe557)
Require the caller of DPM.isDeviceProvisioned() to hold the MANAGE_USERS
permission. The only callers should be within the framework itself, or
apps involved in device provisioning which already hold this permission.
Bug: 62343414
Test: Set TestDPC as Device Owner and use it to reset password
Test: com.android.server.devicepolicy.DevicePolicyManagerTest
Test: com.android.server.locksettings.LockSettingsServiceTests
Test: com.google.android.gts.devicepolicy.DevicePolicyManagerTest
Change-Id: Ie53deb5ba8679a5b431f2a8da60ec9710c44d56f
As per discussion with Amit, it's better to define "conflict"
of ApnSetting in DevicePolicyManager API javadoc.
Bug: 72153573
Test: not required.
Change-Id: I765dace36a3c9c491c988dc0a87479cdec620e37
This CL adds the basics to set black, dark gray or light gray list
enforcement, rather than just black as before. It's not possible to
actually set the policy per-package yet.
PackageDexOptimizer still uses a single bit, for API checks on/off, rather
than the new enum. It assumes blacklist enforcement internally. This can
be improved in a follow up CL.
(cherry-picked from commit e52130ae4c)
Test: m
Test: Boot device
BUG: 73337509
Change-Id: Ieb4bd9cc439c6a5b8fb9424d8902d8b46aec309f
Merged-In: Idd73c9938592c5c4d67cfb9efefdffed0dd5f262
To know that onPostCreate callback should be executed we should use
TransactionExecutor for the entire transaction. It will fill
PendingActions object during the launch and the callback will be
triggered after onStart.
This CL changes local activity relaunch to use Lifecycler
infrastructure. We should immediately execute local recreate
requests, because if we wait until the scheduled message to be
handled, we may already be in a different state and final state
request in the scheduled relaunch transaction will already be
obsolete.
Bug: 72029061
Bug: 64610483
Bug: 76088057
Bug: 73747058
Test: ActivityLifecycleTests
Change-Id: Ia53ecd199c83d030932c4493064e58568805f2a5