Currently a 'touch modal' window grabs drag events
from the entire screen. Since 'touch modal' is the
default, this makes dragging between apps impossible.
This change allows such grabbing behavior only for
events that are still over the same activity stack.
Bug:19548858
Change-Id: I7d48b58e7fcb620521361e17cb70914913afae03
For heapdump functionality, there's no need to give apps
readable/writable file descriptors. An append-only file descriptor
is sufficient.
Bug: 20073185
Change-Id: Ib2c42a72b2704db5f1b919c24e33609f7a45e57a
* commit 'e7c79398dbfca11357fb6f244aff6fb76e1c8061':
docs: Removed instruction to add gms version in manifest during Google Play services setup, since Android Studio automatically handles this. bug: 20077293
* commit 'd8cf94d7da723d7804b1b7545556e05b236b7cf7':
docs: Removed instruction to add gms version in manifest during Google Play services setup, since Android Studio automatically handles this. bug: 20077293
When relaunching a parent activity we finish all its children and set
a 2sec timeout to clean up their tasks/stacks/displays if we don't
hear anything back. This time might not be sufficient for the client
activity to respond back in time depending on what else is happening
on the system and we might end-up prematurely removing its display
which will cause it to crash. In this specfic case, the client
activity which wasn't the focus activity was been relaunched with a
bunch of other activities due to a configuration change.
Instead of having a timeout for the clean-up we now let the activity
go through the normal clean-up process that occurs as it changes
states which will eventually clean-up the right states in a max.
time of 10secs (on destroy timeout) or sooner. This is in line with
activity cycle expections.
Bug: 17702043
Change-Id: I484124e07ad32b9056f75ec41af1dd7718488335
* commit '0c7f94365c732ea6d1a4c383ed68005c0e67a619':
docs: Removed instruction to add gms version in manifest during Google Play services setup, since Android Studio automatically handles this. bug: 20077293
This commit adds a verifier that verifies a host delegates permission for
an app to handle Url for the host using the Statement protocol.
- Implements the Statement protocol
-- The protocol defines a file format that represents statements.
-- The protocol defines where each asset type should put their statement
declaration. For web asset, the statement file should be hosted at
<scheme>://<host>:<port>/.well-known/associations.json.
- Implements IntentFilterVerificationReceiver, an interface between
StatementService and PackageManager. PackageManager will send a
broadcast with action Intent.ACTION_INTENT_FILTER_NEEDS_VERIFICATION.
The service will process the request and returns the results by calling
PackageManager.verifyIntentFilter().
To verify an IntentFilter like this defined in Android app com.test.app
<intent-filter>
<data android:scheme="https" />
<data android:host="www.test.com" />
<data android:pathPattern=".*"/>
</intent-filter>
The service will try to retrieve the statement file from
https://www.test.com:443/.well-known/associations.json and try to find
a JSON object equivalent to
{'relation': ['delegate_permission/common.handle_all_urls'],
'target': {'namespace': 'android_app',
'package_name': 'com.test.app',
'sha256_cert_fingerprints': [APP_CERT_FP]}}
The entry should have the correct relation, package name, and
certificate sha256 fingerprint.
Because this implementation will send a HTTP request for each host
specified in the intent-filter in AndroidManifest.xml, to avoid overwhelming
the network at app install time, we limit the maximum number of hosts we will
verify for a single app to 10. Any app with more than 10 hosts in the
autoVerify=true intent-filter won't be auto verified.
Change-Id: I787c9d176e4110aa441eb5fe4fa9651a071c6610
When VideoView calls setFixedSize(), the SurfaceControl.setSize()
gets called from WindowStateAnimator.setSurfaceBoundariesLocked,
but setSurfaceBoundariesLocked only updates the size, not the
transform matrix/scaling factor.
The after some time, SurfaceControl.setMatrix gets called by
WindowStateAnimator.prepareSurfaceLocked. It updates both size and
matrix (size update is skipped since it's already updated by
setSurfaceBoundariesLocked earlier). This corrects the transform
matrix, and restores video rendering.
We now call setMatrix() in setSurfaceBoundariesLocked() to avoid
the glitch.
Bug: 18773834
Change-Id: I5e8de38495fabe54eefa8bd3003627d11392c0f1
When a new package is created, installNewPackageLI does not need to call
dexopt, since it has already been made.
Bug: 19550105
Bug: 20087446
Change-Id: If6b05bea590eea5f95efebb22a67ccd8cdf632c2