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
Merge commit 'cc5494c9996f809e36539b24e8b6b67683383d29' into gingerbread-plus-aosp
* commit 'cc5494c9996f809e36539b24e8b6b67683383d29':
Out Of Band API for Secure Simple Pairing.
Just a quick fix. Will properly re-add @deprecated and update-api next, and
then get API approval.
Change-Id: Idf57a33dc97bc2619cf48509f74d9e0de935124b
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
Merge commit 'fb8116f736f2df6d1b2f8044541390a9fd9953cb'
* commit 'fb8116f736f2df6d1b2f8044541390a9fd9953cb':
Fix PointerLocationView when pointer ids are not zero-based.
Merge commit 'c891d2b3529b9cf24ef4781a585cd4784815e711' into gingerbread-plus-aosp
* commit 'c891d2b3529b9cf24ef4781a585cd4784815e711':
Fix PointerLocationView when pointer ids are not zero-based.
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
The native media scanner no longer filters files based on file extension.
Audio, video, image and playlist files are handled as before, but non-media
files are now inserted into the "files" table, which was originally added
to support MTP.
Change-Id: I9053218fb6d2671a3bb181405c34442b94678afc
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '1bece4320c1d2308b4a5b5aeda47b065312b3053' into gingerbread-plus-aosp
* commit '1bece4320c1d2308b4a5b5aeda47b065312b3053':
Make nativeLibraryDir visible in the API
Merge commit 'f353daa03aeb3c04fdfa87b7bcd49f0a7eea59b1'
* commit 'f353daa03aeb3c04fdfa87b7bcd49f0a7eea59b1':
Support UI visibility and restarting in download manager.
Merge commit '90fb15a7e52b1208b8d4f7518a61efb99580b5b0' into gingerbread-plus-aosp
* commit '90fb15a7e52b1208b8d4f7518a61efb99580b5b0':
Support UI visibility and restarting in download manager.
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
Merge commit '692065128e66de77470de2c50ead2bef0452952a' into gingerbread-plus-aosp
* commit '692065128e66de77470de2c50ead2bef0452952a':
Fix some API discrepancies in InputEvent.
Fix issue #2975886: Make getTargetFragment() survive rotation events with
retained fragments. We now fix up the fragment pointer when restoring state.
Fix issue #2919928: In PreferenceFragment, addPreferencesFromResources() is
not effective when called after onActivityCreated(). Note to self: do not use
a what code of 0. Maybe that should be documented (I'll do it in gingerbread).
Hopefully implement #2992753: DialogFragment.dismiss will NPE if called too soon
(before attached to activity). We now keep track of the FragmentManager
separately from the activity, and set that as soon as the fragment is part of a
transaction.
Investigate issue #2988876: NPE when device orientation is changed. The NPE is
because of the app trying to do a fragment transaction in onPause(). This is
fundamentally not viable, since (a) the activity will be gone before we ever
have a chance to process the message to commit the transaction, and (b) even if
we did try to commit the transaction earlier, this would be done after
onSaveInstanceState() and thus not work in cases where the activity gets killed
in the background. So instead, we'll just throw an immediate exception if you
try to do this.
Change-Id: Iea62b50eb79f066af2471fce86836d073398f4f7
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
It took a little bit of refactoring to move the authoritative state
about whether the lights are on or not into the StatusBarManagerService,
so that if the system ui process crashes, the bar comes up in the
right mode.
Change-Id: I95cfaf8f78ca4443ded5262272ea755d44dc5d17