Modify OOM adj classes a bit, to take into account the new
heavy weight app type, and give "foreground services" their
own category to have a bettery chance to manager them when
things go wrong.
Also add some new code to battery stats to keep a history
of changes to the battery level.
Change-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a
This is the final CL in a series of CL's that moved the
location of the zoom logic from WebView to ZoomManager.
Change-Id: Ie1e80b9b3108bd4cb0b0ee2822dc984da91c2d86
http://b/2671604
This CL is one in a series of CL's that is intended to refactor
the zoom logic from WebView to ZoomManager.
Change-Id: Icf88f7bd45068dddb31913903403acc7a8f21063
http://b/2671604
Merge commit 'dac5e0013d1ea396f0b3a3f07654f2ecbfb79ac9'
* commit 'dac5e0013d1ea396f0b3a3f07654f2ecbfb79ac9':
Change camera interface to support multiple cameras.
Merge commit 'b8bb78f54b48868465a9d69d65fda08524ab5ae1' into gingerbread-plus-aosp
* commit 'b8bb78f54b48868465a9d69d65fda08524ab5ae1':
Change camera interface to support multiple cameras.
The current OpenGL ES 2.0 HardwareRenderer will fail and does not
even attempt to create a Canvas. The next step will be to create
a new native-backed Canvas that relies on OpenGL ES 2.0 and bypasses
the current OpenGL ES 1.0 implementation done in Skia.
Change-Id: I7a8e9f87f316e9137ef191bb5609213e160eaa4c
sometimes the database can be so corrupt that it cannot even be queried
for attached database list.
Change-Id: Ib8fe3bd94157acab3fbf1011c3f8a532ef5019f4
This change also prevents hardware acceleration when the ViewRoot is in the
system process. This causes problem in EGL intialization because of having
both a SurfaceControl and a Surface. This is not needed and better to leave
it off anyway (so that preview windows don't get unnecessary hw acceleration.)
Change-Id: I1cc55d7fb9a4c1a9c4c59f11f49d3e44de78acef
This is a new public API for developers to opt-in to strict rules
about what they're allowed to do on certain threads. (this is the
public face of the @hide dalvik.system.BlockGuard, added recently...)
In practice this will be used for developers to opt-in to declaring
that they don't want to be allowed to do various operations (such as
disk I/O or network operations) on their main UI threads. (these
operations are often accidental, or even when they are fast come with
a good chance of being slow or very slow in some cases....)
Implementation wise, this is just a thread-local integer that has a
bitmask of the things that aren't allowed, and more bits for saying
what the violation penalty is. The penalties, of which multiple can
be chosen, include:
* logging
* dropbox uploading for analysis/reporting
* annoying dialog
* full-on crashing
These are all only very roughly implemented at this point, but all
parts now minimally work end-to-end now, so this is a good checkpoint
commit before this gets too large.
Future CLs will polish all the above 4 penalties, including
checksumming of stacktraces and minimizing penalties for duplicate
violations.
Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
Add internal API (getTextRunAdvances) to Paint, use when measuring.
Add internal API (getTextRunCursor) to Paint, use when determining
valid cursor positions.
Remove java-level shaping code. Remove 'prep' code in TextLine
(except for replacement text) since shaping now is done on the fly as
needed in native.
Provide explicit shaping context bounds to internal text measuring,
cursor movement, and rendering APIs.
Update for to changes in external API in ushape.h.
Change-Id: I146958b624802ce8553125e5c3c6c03031bc9608
Add APNType info to notifications so you can tell what's happening. Now, even if a new APN
shares a connection with an already-connected-to- apn type, the new type will get all
the connecting and connected messages on connect and disconnecting/disconnected on disconnect
even though the shared connection remains connected.
Cleaning out the hacks MobileDataStateTracker needed to deal with the old situation.
bug:2226092
Change-Id: Iddd7421d6b91cda7c8405f9c3d5404ac04ef8e42
Also fix up how transactions are handled so that a series of transactions
can correctly be created and committed.
Change-Id: I948ba47d49e9b2246a1958bd9eac9dd36dc5a855
This is a single CL in a series of CL's that is focused on moving the
zoom logic from WebView to ZoomManager.
Change-Id: I741fc34d5dd481b89f6e0b33503834c33f4fe69e
http://b/2671604
- The problem is taht the calculation of indices does not take the
difference in original and modified text lengths into account.
- If reportExtractedText() is called from the onDraw() function,
mInputMethodState is not reset.
The error can occur when the user is editing formatted text using a full screen editor.
One example of formatted text is phone numbers (e.g. dashes are added to North American
numbers by the PhoneNumberFormattingTextWatcher class).
If the two first digits are removed from the number 555-666-777, the new number becomes 566--777.
This is due incorrect calculation of start and end indices of the changed text. The error is in
the TextView class and the problem is that the calculation does not take the difference in original
and modified text lengths into account.
Change-Id: If12d0f571873a6f1874102377432affb64ee21e8
This CL is one in a series of CL's that moves the zoom logic
from WebView into ZoomManager.
Change-Id: I9980dd78dbc3345d465d4f39afcfd2f025f45bcb
http://b/2671604
Merge commit '75b6a6b972e6b18143fd629d3d9c824c442c5f4c' into kraken
* commit '75b6a6b972e6b18143fd629d3d9c824c442c5f4c':
Fix 2737842: Disable KeguardManager API if device policy is enabled
Merge commit '75b6a6b972e6b18143fd629d3d9c824c442c5f4c' into froyo-plus-aosp
* commit '75b6a6b972e6b18143fd629d3d9c824c442c5f4c':
Fix 2737842: Disable KeguardManager API if device policy is enabled
This change adds notification to find out when the device policy
has changed. When an admin adds or changes a policy, we get notified
and reset the state of keyguard to be enabled.
It also moves disabling keyguard into the TokenWatcher.acquired()
method to avoid disabling keyguard when a policy doesn't permit it.
This avoids reference counting issues in TokenWatcher and hence relieves
the ordering issue.
There is one remaining caveat. An application that uses KeyguardManager
to disable keyguard will need to disable keyguard again after any
policy change.
Tested:
Install and run app that disables keyguard with no admin. Result: keyguard is enabled/disabled as expected.
Enable admin and set quality = "something" after installing & running app. Result: keyguard is enabled.
Change admin password quality to "unspecified" and re-run app (per caveat). Result: keyguard is disabled.
Change admin password quality to "something" again. Result: keyguard is enabled.
Disable admin : Result: keyguard is enabled until app runs again (per caveat).
Added minor cosmetic changes after review.
Change-Id: I302f2b01446bf031f746b0f3e8b5fd7a6cc0e648