1. Moved all code related to compiled-sql statement cache to SQLiteCache.java
Removed all caching related code from everywhere else.
2. Moved all code related to compiling a sql statement and caching it to
SQLiteCompiledSql.java. There was some code in SQLiteProgram.java
releated to this. moved it out.
3. Added state to SQLiteCompiledSql. This is to help in debugging.
Change-Id: I63ab0c9c4419e964eb9796d284dd389985763d83
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 '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 '89b4cb1e98dee8ed0b4adddf20fe8fa078efcbea'
* commit '89b4cb1e98dee8ed0b4adddf20fe8fa078efcbea':
Undo API patch due to field pulled up to superclass.
Merge commit 'ff38e38d05a39584650c7c37b4b528334529ec0f' into gingerbread-plus-aosp
* commit 'ff38e38d05a39584650c7c37b4b528334529ec0f':
Undo API patch due to field pulled up to superclass.
Earlier we extracted a common superclass InputEvent from KeyEvent
and MotionEvent. During this process, getDeviceId() and mDeviceId
were moved to the superclass. The API change tracking was unable
to automatically figure out that the method had just been moved up
to the superclass (still binary compatible) so we patched up 9.xml
manually to fool it. Unfortunately mDeviceId slipped in there
when it should not have since it should have been marked with @hide.
This change just removes mDeviceId.
Change-Id: I5fca14c8dc6f98952b8afbdb6e034824a22bdb1d
Merge commit '692065128e66de77470de2c50ead2bef0452952a' into gingerbread-plus-aosp
* commit '692065128e66de77470de2c50ead2bef0452952a':
Fix some API discrepancies in InputEvent.
- Exposing the specific resolution profile levels
QUALITY_{QCIF,CIF,480P,720P,1080P} and the new time lapse profiles
QUALITY_TIME_LAPSE_{LOW,HIGH,QCIF,CIF,480P,720P,1080P}
- Unhiding the hasProfile() function used to test if a given profile exists.
Change-Id: I5d8b9e1ba61718f304235e76d85244e428e68643
Merge commit '58300000c1867eaf10fbfb91c53d1b86a37f5b47' into gingerbread-plus-aosp
* commit '58300000c1867eaf10fbfb91c53d1b86a37f5b47':
This was already deprecated, but not picked up by the tool DO NOT MERGE
Merge commit '1ed20dc43b070903597c55738f342bc77f7ab21d'
* commit '1ed20dc43b070903597c55738f342bc77f7ab21d':
Hidden API to control sorting of download manager queries.
Merge commit 'e3692d153e0f66a5620eb96bd75ce92585b9fc04' into gingerbread-plus-aosp
* commit 'e3692d153e0f66a5620eb96bd75ce92585b9fc04':
Hidden API to control sorting of download manager queries.
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
Merge commit '85a3176704b5bfbeece9bd928369fbb76eec7dc6' into gingerbread-plus-aosp
* commit '85a3176704b5bfbeece9bd928369fbb76eec7dc6':
Add support for secure views.
Added the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the
input manager whenever another visible window is partly or wholly obscured
the target of a touch event so that applications can filter touches
accordingly.
Added a "filterTouchesWhenObscured" attribute to View which can be used to
enable filtering of touches when the view's window is obscured.
Change-Id: I936d9c85013fd2d77fb296a600528d30a29027d2
Merge commit 'c4f628a1ba359926cf53ed7652d9abba6ea29123'
* commit 'c4f628a1ba359926cf53ed7652d9abba6ea29123':
Adds a time zone parameter to formatDateRange
Merge commit 'c0b4f6d30d962d75125628317b5f5ea622531dfe' into gingerbread-plus-aosp
* commit 'c0b4f6d30d962d75125628317b5f5ea622531dfe':
Adds a time zone parameter to formatDateRange
For a critical feature request in Calendar we need the ability
to format a date range in a time zone other than the local tz.
This adds a new method signature to formatDateRange to allow for
a tz to be specified and maintains the old behavior if the parameter
is not used. Also deprecates the FORMAT_UTC flag.
Change-Id: I16b3e939760ec86c954b51a318d01b7bbf86acc9