Accessibility services may opt-in to introspect the interactive
windows on the screen. If window introspection is enabled there
is a case where some events from a showing window are received
before the updated window state from the window manager. Now the
window manager sends over the windows before notifying the app
for the focus change.
bug:18625996
Change-Id: Ic481e01efbe12dc92f090f799feeb236672fc7b3
A recent fix to seeking behavior injected a couple of issues that need
to be addressed:
- the start time should be updated when seeking so that future calculations
that depend on it (such as the next animation frame) will use the updated
start time based on this seek request. This allows, for example, seeking
into a running animator so that that animator will update its current fraction
to the new seeked value.
- calling reverse() on an unstarted animation would incorrectly set the initial
frame of the animation to the end value for one frame before the reverse animation
actually began.
Issue #18567716 No icons in folders in battery saving mode
Issue #18511989 Search bar flashes when icon is picked up and dropped
Change-Id: Ie30b7e797468c6ccb3d17d4fb3aba6b9849436b0
In the Truncate.MIDDLE case, when the line is less than half the layout
width, the computeEllipsis logic could go past the left edge of the
string. This patch fixes the off-by-one and avoids the resulting index
out of bounds crash, and also changes the behavior so that when
ellipsizing at the middle, the string to the end of the paragraph is
taken into account.
Bug: 18508627
Change-Id: I24be09c23a5aa158791a9717419307613b8a22e8
Validate writeDescriptor and writeCharacteristic methods at API invocation
for non null initialisation.
Bug 18395071
Change-Id: I411a57b77981310d8db1f98c67e03b4327c93339
Cherry-picked from aosp.
Fixes bug 18593178.
Symptom:
When application is not responding, an ANR dialog will shown.
In certain timing, user uninstall the application when the ANR
occurs, but before ANR dialog shown. The system server will crash
when looking up the errorReportReceiver because the package is removed.
Here shows how the exception occurs.
java.lang.IllegalArgumentException: Unknown package: app.package.name
at com.android.server.pm.Settings.getInstallerPackageNameLPr
at com.android.server.pm.PackageManagerService.getInstallerPackageName
at android.app.ApplicationPackageManager.getInstallerPackageName
at android.app.ApplicationErrorReport.getErrorReportReceiver
at com.android.server.am.ActivityManagerService.startAppProblemLocked
at com.android.server.am.ActivityManagerService.makeAppNotRespondingLocked
at com.android.server.am.ActivityManagerService.appNotResponding
Change-Id: Iced4287bd44dc25b1db2c1e3a583892eb6c041a2
Bug: 18542685.
This CL includes two changes:
* Fixed a leak of DeathRecipient when geofences are removed from the
hardware.
* Avoid creating more DeathRecipient than needed. Use the underlying
binder object instead of the callback object to tell if they are the
same. So if the client passes the same callback instance to
GeofenceHardwareImpl, only one DeathRecipient is created.
Change-Id: I7809e4bc04df4f9e3590de98a03178b276c821ea
Previously the dimension check had implicit orientation sensitivity.
We now make sure to compare the candidate image's width to the smallest
screen dimension for acceptance purposes; this fixes cases when we would
e.g. get a restored image of (1680x2560) but believe that we needed it
to have a max width of 2048, even though it had originated on that same
device -- due to current-orientation issues.
Bug 18448052
Change-Id: I64ca6a4ed91ce1ccc04f5a9a6851e5cfe511b7c7
Bug: 18203577
The issue occurs as a result of performTraversals() both doing
a window relayout call *and* early-returning because it's not dirty.
To fix this pauseSurface() returns whether or not the RT-side is
"dirty" to force ViewRootImpl to do a draw even if mDirty is
otherwise empty.
Change-Id: I534f367e75d18d273ebf14df3927f5c464ef6bef
This reverts commit 6aee1d2ba5.
But leaves in some of the improved documentation.
Bug: 18281970
Bug: 18573576
Change-Id: I320f2229456ac039bc8f3cd8bc8b4ea6cf0e80eb
...is installed with <provider> with empty string.
Don't allow empty authorities, just like we don't allow null authorities.
Change-Id: I5c64592a639efe4dba848bd6f0efe4257f1565a2
...uninstalling updates to a system app
Things seem to be working fine, however we were not as aggressive at
writing out the current state in this case as we probably should be.
Also introduce more features to the appops command, which are useful
for testing this.
Change-Id: I177a9cc0e16e98b76fee0d052d742e06842bb3f9
Add a listener to listen for changes in the Task stacks to preload thumbnails from the
system. In addition, reduce the amount of synchronous work done in activity creation
and first measure/layout passes.
Change-Id: I8bd9155d7a05e89c190a20429acff69a17808208
This is a landmine for developers. If they need to obtain an unthemed
drawable, they should be using an explicit null theme.
BUG: 18579576
Change-Id: Ibca6b4c3e8e50dca144571244e035caec6fa91f8
Bug 18578796
When no snapshot was created, we weren't adding anything to
the snapshot list. When a snapshot is not created, we should
add an null snapshot to the snapshot list to keep them in
order.
Change-Id: I522e485163229230037dcdd635b83cff800df28f
...startActivityForResult causes SecurityExpcetion
The ReferrerIntent hack was becoming visible to apps, which caused
a mismatch between marshalling/unmarshalling of the IPC call.
Change-Id: Ibcb788327b5bae4426efc826551799fa87d1cbaa
The basic principle is: if an app's traffic could possibly go
over a network without the app using the multinetwork APIs (hence
"by default"), then the status bar should show that network's
connectivity.
In the normal case, app traffic only goes over the system's default
network connection, so that's the only network returned.
With a VPN in force, some app traffic may go into the VPN, and thus over
whatever underlying networks the VPN specifies, while other app traffic
may go over the system default network (e.g.: a split-tunnel VPN, or an
app disallowed by the VPN), so the set of networks returned includes the
VPN's underlying networks and the system default.
Specifically:
1. Add a NETWORK_CAPABILITY_VALIDATED bit to NetworkCapabilities.
2. Add a hidden API to retrieve the NetworkCapabilities of
all default networks for a given macro-user.
3. Modify the status bar code that used getActiveNetworkInfo to
determine which network was active, and make it consider all
validated networks instead.
4. Because the set of active networks depends on which VPN app
the user is running, make the status bar re-evaluate the
networking situation when the active user changes.
Bug: 17460017
Change-Id: Ie4965f35fb5936b088e6060ee06e362c22297ab2