Applciations that fire accessibility events have to first check
it accessibility is on and then fire the event. If the app fires
an event when the feature is off an exception is thrown. However,
due to the way accessibility state is pushed to the local
accessibility manager it was possible that the app checks that
aaccessibility is off, fires an event, then the state of the
local manager changes by the time the event is propagated up
the view tree and an exception is thrown. This is a regression.
We really want this exception to prevent apps sending events
across processes if accessibility is off, so now the state
we get from the system manager service is applied via a
message so if the app checks that accessibility is off, then
it will remain off (locally) until the event is propagated.
bug:16672964
Change-Id: Icf5d1b1bdff87b58f285f0d9e1a098552513bbe8
To aid in debugging app behaviour when WebView updates may be present,
log the package name, version name, and version code of the WebView
package when we are about to load it into an application. Do this before
we actually load any part of the package in case of an issue loading it
in the first place.
Change-Id: Id653bad431760b7ead8e3f8eb29f9d6a8bb68d07
Putting the deprecated at the beginning of a class comment seems
to cause problems with JavaDoc so I've moved it to the end.
Bug: 16799480
Change-Id: Ia23dab2ad8ceb8e107e047480b5cb324d11a1457
1. add return type, int, to toByteArray method so
that caller can know how many of bytes it consumes.
2. put final keyword
Change-Id: Ia942016fa35ecb04b49be51170739101644c3e31
This change implements clear timer, which sends
<Clear xxx Timer> to recorder, and reponse of it,
<Timer Cleared Status>.
Along with it, add result parser for [Timer Status Data].
Bug: 16160962
Change-Id: I1f48ec055aa93dc836156525de8b7ef921aad8b5
This changes makes the initial, default language set and
the #setLanguage call with the default language as input
exactly the same.
Previously, the requests made after the initial default language
set were missing the name of the default voice.
+ Some tests clean-up. Some of them fail due to issues with
Locale#toLanguageTag upper-casing the variant field.
Change-Id: I5470617007fe45462b7198bf62a03eb5fe47a590
- Service policy changes: allow the user to turn off (snooze)
saver mode below the auto-trigger level. Plugging in the
device always exits saver mode.
- Default trigger level is now 0 (never) instead of 15.
- SystemUI now also listens to a new POWER_SAVE_MODE_CHANGING,
since waiting for _CHANGED can take seconds.
- Move shared feature description text into the framework so it
can be shared.
- Tweak dialog title + action strings.
- Remove trigger-level from SystemUI, it no longer needs it.
- Add the ability to turn off saver mode directly from the
notification.
- Migrate saver confirmation dialog to common system UI dialog
helper, and add a few convenience methods.
- Fix bug where the status bar area would be orange over the keyguard
in SHADE_LOCKED mode.
Bug:16214395
Change-Id: I3d1ded1eec9e63e7d97469486f6a320e1bebbccd
Also annotate the flags with @IntDef to make things clearer and safer
Add more debug logging
Revert to start/stop being synchronous since telephony and microphone will
need to be handled internally.
Bug: 16731586
Bug: 16514535
Bug: 16549061
Change-Id: I83695d52e9547269c95d443e4d921c9238b7401e
The ActivityTransitionCoordinator is retained by reference from native code.
The coordinator refers to a app's listener which can cause leak.
b/16737906
Change-Id: Ibbb85480b852442f95b00a8d3beff0161bdadb47
Some API methods on DevicePolicyManager call underlying IDevicePolicyManager methods
that can be parameterised with a user id. DPM however only exposed methods for the current user.
This CL makes it possible to call them with any user id by introducing hidden methods on
DevicePolicyManager.
Bug: 15558397
Change-Id: I1786a64fa7cf5f6590ddd04cbf4527bb159f8795
When devices are configured with a doze component, the user
now has the option of disabling doze mode with a secure setting.
Bug:16703536
Change-Id: Ieab6ee8d2acf54580b86fb16e9d77b52080fb3b1
Views which are on the secondary "disappearingChildren" list in a
ViewGroup can be displayed and animated, but are unable to properly
update their underlying DisplayLists. This change processes these
children the same as other children in a ViewGroup, enabling changes
in those children to be reflected in their DisplayLists.
Issue #11551606 disappearing views don't invalidate/redraw correctly
Change-Id: I8d016ada7b73f6a5e74c2f21c979c0b6f84703b1
Instead of stuffing the profile badge into extras, store the
originating user and read the badge via UserManager.
Bug: 16735645
Change-Id: Ia5f9b6f113dcbc88581af5308585edcf9b92b88d
We load the null WebView if the real WebView package is not available to
support devices that aren't intended to have a WebView, but this results
in confusing log messages if the real WebView is supposed to be present
but is broken/unloadable for some reason. Since the null WebView is in
the system classpath on devices that should use it, swallow any failures
to load it on the assumption that this is actually just a failure of the
real WebView to be loaded.
Change-Id: I15820da3517daffde6169343c648a4486c0309d7
* changes:
Cherry pick Cleanup debug messages in WebViewFactory and WebViewUpdateService DO NOT MERGE
Cherry pick Move startIsolatedProcess implementation in ActivityManagerService DO NOT MERGE
CHerry pick Find WebView package name from a config resource. DO NOT MERGE
Cherry pick Remove dependency on WebView native library path. DO NOT MERGE
Cherry pick Make WebViewUpdateService a SystemService. DO NOT MERGE
Cherry pick Refactor ActivityManagerService and make WebViewFactory more pedantic. DO NOT MERGE
Cherry pick Refactor native library path logic in WebViewFactory DO NOT MERGE
Cherry pick Append WebView assets to AssetManager when loading the WebView. DO NOT MERGE
Cherry pick Introduce startIsolatedProcess private API in ActivityManager DO NOT MERGE
Cherry pick Load the WebView Java code from an APK. DO NOT MERGE
This is just a cleanup CL which fixes:
- Some erroneous debug messages about the relro creator process.
- The condition checked in WebViewUpdateService, to prevent the
WebView to be used from the SystemServer (it now looks at the
process id, previously it was erroneously looking at the uid).
- Adds a 5s. timeout to the waitForRelroCreationCompleted.
Original BUG:16403706
Original Change-Id: I43a953949050d7df5fe334cfa7257315ee6db071
Bug: 16723226
Change-Id: I2f40be3622b8e6c68b2b52cae7f4d3a95e148cbf
Use a config resource to determine the package name for the WebView
implementation to allow it to be changed by a resource overlay.
Original Bug: 16329371
Original Change-Id: I5977691c0223347e0382d584c3d3ee4428660180
Bug: 16723226
Change-Id: Ib0b4245f26cbf93f364aa0f30b231786931f9f16
This CL removes the final use of the hardcoded WebView
library path from WebViewFactory. We now use a system
property to set the amount of address space to reserve
in the zygote rather than stat'ing the file.
See also I07ad5a774623c1899eb50474d999a2b1447783f0
Original Change-Id: Id3c1e3cc2e2a06c1021ad0260a37abcd07d78fd6
Bug: 16723226
Change-Id: I55acad96b6d9ee69f14b84d772abf7740ea96b94
This CL adds more robustness to the logic in WebViewFactory, checking
whether the isolated process did start at all and catching exceptions
in its java side.
Also, this addresses the refactor comments received in CL 509840.
Original BUG:16403706
Original Change-Id: Iaaea6d36142ece6d974c2438259edf421fce9f2e
Bug: 16723226
Change-Id: Id308f2ffde9b67a3eb4719c7b81b4f46421f0c2e
This CL changes the relro creation and loading logic.
Instead of using a hardcoded path, now WebViewFactory queries the
package manager to get the lib path, which will be either
/system/priv-app/webview/lib/ or /data/app/... depending on the
presence of an update apk.
Original BUG:16403706
Original Change-Id: Icceb95da98e69032a19ac2ae8fe72ba1439e50ad
Bug: 16723226
Change-Id: Ia3155f72a735d75a566a8cc4c8c892d43b6cd371
This makes the code loading the WebView Java code from the .apk
also load the WebView assets into the current AssetManager.
Original BUG: 11505352
Original Change-Id: Ib6203f79b98805012ffa20b233037b7da221624c
Bug: 16723226
Change-Id: Ie7b0b22df9727c72debfb9ccfcd84c95bf41e039
The new API spawns a isolated process, using a custom uid, entrypoint and
abi. Such API is used by the WebViewFactory to spawn its unpriviledged
but trusted process (hence the fixed uid) which rewrites the rerlo file
on boot / when an update occurs.
Since both the ActivityManager service and the WebViewUpdate service
live in the SystemServer their calls be dispatched locally and no
binder interface needs to be exposed for the new startIsolatedProcess API.
Original BUG:16403706
Original Change-Id: I327b59735c12698595e0dbcc4da5d759c9103b0a
Bug: 16723226
Change-Id: Iecb49888e11eec9d302d9712953fd498db5821af
Use the WebView APK to load the Java code via createPackageContext.
Original Bug: 16329371
Original Change-Id: I1292edab639d85c2027dc8ebb52def8c36d41cde
Bug: 16723226
Change-Id: I8e692a5e12706f91a8af0a8b385bac336ce60913