This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like... say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).
To solve this, we introduce a new class WorkSource representing
the source of some work. Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.
For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.
This should also be used elsewhere, such as in the GPS provider,
but this is a good start.
Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
Use a static variable and methods for the current WebView.
sJavaBridge may not exist by the time onWindowFocusChanged is called.
To avoid an NPE, just static methods that modify a global field.
JWebCoreJavaBridge is a global object anyway so using a static field
will be fine. To avoid any garbage collection issues, store the
WebView in a WeakReference.
Bug: 2908023
Change-Id: I05e9261f2c3d13c10c73c9b34f3aeea1d12a08a6
Since we support using driver-provided pointer ids (ABS_MT_TRACKING_ID)
there is no guarantee that pointer ids will necessarily start from 0
or be contiguous.
Change-Id: I9609b7a3bb238d7edbcbd68cc839dd6d14baf9df
First, this change adds a column to the downloads table specifying
whether a download should be displayed in the system downloads UI. It
adds a public method to set this parameter when requesting a download,
and a hidden method to filter queries based on this paramter (such
filtering could be made public later, but it's not strictly necessary
right now).
Second, this change adds support for restarting a completed/failed
download as a hidden method on DownloadManager. Currently it only
works from the download manager's process - it'll be used by the new
download manager UI.
Change-Id: I15eda1a6e3717d1ce947a810b25ad3540cce809e
This change is essentially a rewrite of the main input dispatcher loop
with the target identification folded in. Since the input dispatcher now
has all of the window state, it can make better decisions about
when to ANR.
Added a .5 second deadline for processing app switch keys. This behavior
predates Gingerbread but had not previously been ported.
Fixed some timing inaccuracies in the ANR accounting that could cause
applications to ANR sooner than they should have.
Added a mechanism for tracking key and motion events that have been
dispatched to a window so that appropriate cancelation events can be
synthesized when recovering from ANR. This change helps to keep
applications in sync so they don't end up with stuck buttons upon
recovery from ANRs.
Added more comments to describe the tricky parts of PollLoop.
Change-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1
Moves the remoteNativeLibrariesLI call to NativeLibraryHelper to prepare
for being able to symlink the /data/data/<package>/lib dir to the ASEC
container.
Change-Id: Ie3648509c6b6293a8d9bdd815610ab408df5047f
We weren't logging strictmode violation in the system_server process
in non-user builds (only system apps), even though the rest of the
strictmode logging supports it.
Also add a missing lock in ActivityManagerService.
Change-Id: If2af96a7e4fdde604a647b836097f0029ef1334b
In nativeCreateLargeBitmapFromFileDescriptor() if the file descriptor
can not be rewinded isShareable should be set to false.
Change-Id: I7dd545c9d52d21c226e11b8921e35a1d9bba9515
The activity manager looks for cases where one app launches immediately
after another. If this happens, a brief toast is shown telling the user
when app is actually running and what was originally starting.
Change-Id: If94cf5bd393dd0bc0f09789dae044fde1386c481
This change adds a hidden API to sort download manager queries by size
rather than by time last modified. This is necessary for the system
download manager UI but, in the interest of keeping the new public API
as minimal as possible for now, I'm leaving @hide on this method.
This change also changes the DownloadManager.COLUMN_ID column to be
identical to BaseColumns._ID, since some code relies on this (such as
CursorAdapter).
Change-Id: Ib89b614d63e988974d4486b122b39365b35b5269
In this fix, A2DP profile will be connected when pairing with a
previously paired headset. The reason for this error was that the
connection of the A2DP profile was sent before the callback
onCreatePairedDeviceResult was receied in BluetoothEventLoop.java.
By not going to the state BOND_BONDED until after this callback has been
received, the problem is fixed. However the use case is different if the
pairing is initiated by the remote device. In these cases state
BOND_BONDED will be set when onDevicePropertyChanged instead.
Change-Id: I5dedca87d0a6872705ff3a933a99cce6eb37618a
Apps can report if they like their connection to the nets
and we display either not-really-connected or fully-connected
icons. Final icons TBD.
bug:2978624
Change-Id: I28be52085edfe54571c0d4559aba0df883548654
A left padding and scroll was not taken into account in cursor position.
Bug http://b/issue?id=2970142
Change-Id: Ie76e8d97f3dd5fe3a750aa82cd4b97c98892cb48
This is to maintain backward compatibility with badly programmed
GL wallpapers. Wallpapers can call SurfaceHolder.setFormat() to
request a different format.
Change-Id: Ib42b0cf6c7040d1300cad239c3acfd5c4c6cd326
For the duration of the wake lock, 50% of all CPU usage is now
accounted against the app(s) holding partial wake locks, evenly
distributed between them. This is only while the device is on
battery and screen off.
Change-Id: I3e5c978b792b6ef17bf8540705bfe8343dadd464