I really have no idea how this can be happening (we check
for a null intent before posting the args), but add another
check before dispatching to try to avoid it.
Change-Id: Ic704850c9750b6a078c49ea628189be568031086
This is a follow up CL to my previous CLs [1][2] that introduced
InputConnection#commitContent(InputContentInfo, Bundle) API to enable
IMEs to send a content to the target application.
With this CL, IME developers are able to temporarily expose
InputContentInfo object to the target package without permanently
granting URI permission. Although calling IMS#exposeContent() is
allowed only for the IME that is currently selected, the client is able
to request a temporary read-only access even after the current IME is
switched to any other IME as long as the client keeps InputContentInfo
object.
Here is a sample code snippet about how to use this mechanism.
[IME]
InputContentInfo contentInfo = new InputContentInfo(
contentUri,
new ClipDescription(description, new String[]{mimeType}),
linkUrl);
exposeContent(contentInfo, getCurrentInputEditorInfo());
getCurrentInputConnection().commitContent(inputContentInfo, null);
[App]
try {
contentInfo.requestPermission();
// Load inputContentInfo.getContentUri() here.
} finally {
contentInfo.releasePermission();
}
[1]: Iaadf934a997ffcd6000a516cc3c1873db56e60ad
152944f490
[2]: Ica1ba3154795c1bf44e140dfe639b299f83cd8af
adebb52588
Bug: 29450031
Change-Id: I2772889ca01f2ecb2cdeed4e04a9319bdf7bc5a6
Bug: 29547000
Instead of shifting the window off screen fall
back to the UI-thread calculated values. This fixes
a race issue around tear-down where we stop
drawing long before our window is actually no longer
visible, as well as fixes a funky issue with
PRESERVE_GEOMETRY during first draw.
Change-Id: I792d1966f5aaee1e703295ae79166c723b97a1dc
Apps from different developers will now receive a different
ID for the same dynamic sensor. Additionally, all apps
will now receive a different/new ID for the same dynamic
sensor after a factory reset.
Bug: 28775590, 29547335
Change-Id: I15b48b974cbb1d53cc33dfdb7b9eb5f1b562190c
In getPersistedUriPermissions, use granted userId instead of the calling
userId to look up provider info.
Bug: 29058113
Change-Id: Ia637be414f9ef3b8e9bce13bb56bd335cfb28ac7
- Don't send Tile through intent, it can cause crashes
- Clean up other issues surrounding this
Change-Id: I08c626cf39b36d349592c1e0b81627b9bc7eeeb3
Fixes: 29519485
This fixes potential NPEs that happen on methods that access
mService after checking nullness, i.e. getConnectedDevices.
Bug: 29514788
Change-Id: Ic97054fd5a3563a374c0e863fb116c52535a6509
Make sure that when our Resources get updated, that DisplayAdjustment
and Display properly reflect the potentially new screen dimensions.
Bug:28388969
Change-Id: I340550ea094ece87abc8790dd46aaa60ab3cedd3
We need to be careful about stripping FLAG_PRESERVE_GEOMETRY
as it breaks render thread sync. Notably we don't need
to strip it in the case of mUpdateWindowNeeded, this just signals
that Window#resized has been called, or something similar, but if there
has been no actual size change, then we can leave the geometry to
the render thread. This particularly manifests in rotation scenarios
where the SurfaceView will receive resize ahead of the app receiving
a configuration change.
Bug: 28823590
Change-Id: Ie2bbe7d9bd9f0a5ab64a08776bae7344eaecb605