Commit Graph

205 Commits

Author SHA1 Message Date
Ben Dodson
58a345936d Added methods for managing uri query parameters
Change-Id: Ic98c1bd159740dd4d895889079f9f2abae4fc2b9
2010-08-26 17:15:01 -07:00
Wink Saville
c28227d443 Merge "Allow reliable detection of a message that is in use." 2010-08-24 14:33:29 -07:00
Wink Saville
a334e7c724 Allow reliable detection of a message that is in use.
Because the standard Looper.loop code calls Message#recycle it is
imperative that Handler#handleMessage code not attempt to resue
a message it receives. If allowed to do so it will cause bugs that
could be difficult to diagnois.

This change adds Message#flags and uses one bit to reliably detect
a message is in use and throws an error in MessageQueue#enqueueMessage.
This allows early detection of this bug.

Note: This is not new functionality, but the current implementation does
not detect messages that are in use because it uses Message#when != 0
as the detection mechanism. The problem is that a Message#when value of 0
is valid value used to place a message at the front of the queue and is
thus unreliable.

Another option is to change the setting of Message#when in Message#enqueueMessage
so that it is never 0, although that does change subtly a publicly accessible
field.

Yet another option would be to use other fields but all candidates have
similar problems as when in that they are publicly accessible or even
settable such as Message#target.

Change-Id: I040d6e546376f7b1ed1e4daa0d5644cce8bf333a
2010-08-24 10:56:30 -07:00
Vasu Nori
4077d7a75d Merge "SQLiteOpenHelper should discard closed singleton database objects" 2010-08-24 10:08:13 -07:00
Brian Carlstrom
07d39e9150 am 005f0d08: am 4d42ccd1: Tracking merge of dalvik-dev to gingerbread
Merge commit '005f0d084ec3a5c7a2850b807c6054a1fc904daa'

* commit '005f0d084ec3a5c7a2850b807c6054a1fc904daa':
  Tracking merge of dalvik-dev to gingerbread
2010-08-24 09:03:29 -07:00
Vasu Nori
cc6f54910d SQLiteOpenHelper should discard closed singleton database objects
bug:2943028
Change-Id: I4b6263cc25413995363158c976d3c723231cc050
2010-08-23 17:08:41 -07:00
Jaikumar Ganesh
ddb2bfeb6e Revert "Allow reliable detection of a message that is in use."
This reverts commit 6083d81ce4.
Reverting this because it causes runtime to reboot in a loop
if connected to a Bluetooth Headset.

copyFrom() needs to check for the introduced bit too.
2010-08-23 17:04:32 -07:00
Wink Saville
6083d81ce4 Allow reliable detection of a message that is in use.
Because the standard Looper.loop code calls Message#recycle it is
imperative that Handler#handleMessage code not attempt to resue
a message it receives. If allowed to do so it will cause bugs that
could be difficult to diagnois.

This change adds Message#flags and uses one bit to reliably detect
a message is in use and throws an error in MessageQueue#enqueueMessage.
This allows early detection of this bug.

Note: This is not new functionality, but the current implementation does
not detect messages that are in use because it uses Message#when != 0
as the detection mechanism. The problem is that a Message#when value of 0
is valid value used to place a message at the front of the queue and is
thus unreliable.

Another option is to change the setting of Message#when in Message#enqueueMessage
so that it is never 0, although that does change subtly a publicly accessible
field.

Yet another option would be to use other fields but all candidates have
similar problems as when in that they are publicly accessible or even
settable such as Message#target.

Change-Id: I2df600537700a3fe206678f38bcae7329751c4e5
2010-08-21 15:32:19 -07:00
Brian Carlstrom
005f0d084e am 4d42ccd1: Tracking merge of dalvik-dev to gingerbread
Merge commit '4d42ccd1579da53aaaf132a6ad26a06e2baa5b98' into gingerbread-plus-aosp

* commit '4d42ccd1579da53aaaf132a6ad26a06e2baa5b98':
  Tracking merge of dalvik-dev to gingerbread
2010-08-20 13:54:28 -07:00
Brian Carlstrom
4d42ccd157 Tracking merge of dalvik-dev to gingerbread
git cherry-pick --no-commit 353ab63e412dd15029143de238e9590ab35eb583)
make update-api

Change-Id: I9e61616828a3a5745421350b9a2fc78ba181d388
2010-08-20 13:50:19 -07:00
Daisuke Miyakawa
a7bb3ba54a am f996ed9f: Merge "Make vCard importer/exporter aware of multi-byte parameters." into gingerbread
Merge commit 'f996ed9f2e4a992e5d884077a15dcc23a8d90c44' into gingerbread-plus-aosp

* commit 'f996ed9f2e4a992e5d884077a15dcc23a8d90c44':
  Make vCard importer/exporter aware of multi-byte parameters.
2010-08-18 13:35:47 -07:00
Bjorn Bringert
a006b47298 New API and implementation of DB and memory-backed FDs
This depends on a kernel patch that implements read(2)
in the ashmem driver.

Bug http://b/issue?id=2595601

Change-Id: Ie3b10aa471aada21812b35e63954c1b2f0a7b042
2010-08-18 15:39:52 +01:00
Daisuke Miyakawa
b7688558cc Make vCard importer/exporter aware of multi-byte parameters.
Bug: 2922186
Change-Id: Ic877940242d87ef918bf8d4dac601d37b296259b
2010-08-17 16:40:47 -07:00
Eric Rowe
542cf2c9cf am 7cb0fc58: am edae848e: am 301c437b: Remove @LargeTest annotations
Merge commit '7cb0fc588042f7642f13ea2cc404eae04bd5509a'

* commit '7cb0fc588042f7642f13ea2cc404eae04bd5509a':
  Remove @LargeTest annotations
2010-08-10 12:04:04 -07:00
Eric Rowe
7cb0fc5880 am edae848e: am 301c437b: Remove @LargeTest annotations
Merge commit 'edae848eb62e27b8e987aa89557d1456304fada7' into gingerbread-plus-aosp

* commit 'edae848eb62e27b8e987aa89557d1456304fada7':
  Remove @LargeTest annotations
2010-08-10 12:00:07 -07:00
Eric Rowe
edae848eb6 am 301c437b: Remove @LargeTest annotations
Merge commit '301c437b554e2152f3f6fffadc680f5cbf8e8231' into gingerbread

* commit '301c437b554e2152f3f6fffadc680f5cbf8e8231':
  Remove @LargeTest annotations
2010-08-10 11:53:59 -07:00
Brett Chabot
4f94181282 am e967ee49: Merge "Fix gingerbread FrameworkCoreTests makefile." into gingerbread
Merge commit 'e967ee49b5a86de2be11dd1d28283c337b01e537' into gingerbread-plus-aosp

* commit 'e967ee49b5a86de2be11dd1d28283c337b01e537':
  Fix gingerbread FrameworkCoreTests makefile.
2010-08-10 10:30:32 -07:00
Brett Chabot
56718cb1cb Fix gingerbread FrameworkCoreTests makefile.
android-common should be included as a static library.

Change-Id: I539962904c84ef30e6d7bd1b48d0bc07e0757d58
2010-08-09 18:49:54 -07:00
Eric Rowe
301c437b55 Remove @LargeTest annotations
Change-Id: Ib7e6f6e8b6437db5ca2ad2bcb89f079a0cbf7453
2010-08-09 15:35:48 -07:00
Jesse Wilson
1ba4171405 Adding JsonReader.setLenient() to handle malformed JSON strings.
Also replacing setIndentSpaces() with a more general purpose method,
setIndent().

Change-Id: I64fbe4901aec23de5392362c1d40b77bc2b5566b
2010-08-06 19:24:54 -07:00
Jesse Wilson
76d7e20a75 A new streaming JSON API.
Change-Id: Iefa7ee44ddacbe22ea9ebca3165ac59030659bf2
2010-08-06 10:34:44 -07:00
Vasu Nori
bde1fc848d am 499b7438: Merge "(gingerbread) remove unused tests. bug:2898376" into gingerbread
Merge commit '499b743851aa84b9fc1a7e445e189946bc47ad5d' into gingerbread-plus-aosp

* commit '499b743851aa84b9fc1a7e445e189946bc47ad5d':
  (gingerbread) remove unused tests. bug:2898376
2010-08-05 17:15:08 -07:00
Vasu Nori
286b9770cc (gingerbread) remove unused tests. bug:2898376
Change-Id: Icc4c8ed20c9e910784bf202415d58e4af2366bee
2010-08-05 16:56:09 -07:00
Eric Rowe
3417024b03 am 5c0f1e0a: am f9ea8ec5: am 982f1521: Merge "Checkin initial bluetooth stress tests." into froyo
Merge commit '5c0f1e0a870b5792bbc0456eef6fd21642db3798'

* commit '5c0f1e0a870b5792bbc0456eef6fd21642db3798':
  Checkin initial bluetooth stress tests.
2010-08-05 15:25:26 -07:00
Eric Rowe
5c0f1e0a87 am f9ea8ec5: am 982f1521: Merge "Checkin initial bluetooth stress tests." into froyo
Merge commit 'f9ea8ec57e1e1d5654f57c22f514954e242833d2' into gingerbread-plus-aosp

* commit 'f9ea8ec57e1e1d5654f57c22f514954e242833d2':
  Checkin initial bluetooth stress tests.
2010-08-05 15:18:22 -07:00
Eric Rowe
f9ea8ec57e am 982f1521: Merge "Checkin initial bluetooth stress tests." into froyo
Merge commit '982f1521a662d274eca1216707d874f148396ac6' into gingerbread

* commit '982f1521a662d274eca1216707d874f148396ac6':
  Checkin initial bluetooth stress tests.
2010-08-05 15:10:15 -07:00
Eric Rowe
14db8d9978 Checkin initial bluetooth stress tests.
Bluetooth stress tests include stress tests for enabling/disabling bluetooth,
making the device discoverable/undiscoverable, and starting and stopping scans.

Change-Id: Ic8ba09475ffe5551717438673e0ed3f4bd17cf2f
2010-08-05 14:45:44 -07:00
Kenny Root
c44f1ffbfa am 983d4583: am dec43a10: Merge "Fix up PackageManager tests" into gingerbread
Merge commit '983d4583e7bb1788d377296fe34babc1956c0a3c'

* commit '983d4583e7bb1788d377296fe34babc1956c0a3c':
  Fix up PackageManager tests
2010-08-05 12:09:10 -07:00
Brian Carlstrom
1b7e4d5adc am 4ae1e382: Merge "Tracking merge of dalvik-dev to gingerbread" into gingerbread
Merge commit '4ae1e382f4b6c5bb9e757f35f82ad48dc02c32af' into gingerbread-plus-aosp

* commit '4ae1e382f4b6c5bb9e757f35f82ad48dc02c32af':
  Tracking merge of dalvik-dev to gingerbread
2010-08-05 10:40:45 -07:00
Brian Carlstrom
4ae1e382f4 Merge "Tracking merge of dalvik-dev to gingerbread" into gingerbread 2010-08-05 10:35:53 -07:00
Kenny Root
983d4583e7 am dec43a10: Merge "Fix up PackageManager tests" into gingerbread
Merge commit 'dec43a102226de55307de20d5779e20a435be8b1' into gingerbread-plus-aosp

* commit 'dec43a102226de55307de20d5779e20a435be8b1':
  Fix up PackageManager tests
2010-08-05 10:04:59 -07:00
Kenny Root
d7b421b4de Fix up PackageManager tests
PackageManagerTests was trying to mount and unmount the media without
waiting for the correct state to arrive. It was proceeding with any
state transition.

Some tests had their own volume mounting and unmounting code that was
flawed, so switch it to the more robust mountMedia() and unmountMedia()
implementations.

Change-Id: If464927bb09dd15cb040c6cce195a6ad8452de95
2010-08-05 08:40:09 -07:00
Brian Carlstrom
3c7c351a62 Tracking merge of dalvik-dev to gingerbread
git cherry-pick --no-commit f77cf7f0
git cherry-pick --no-commit c8f503b528
git cherry-pick --no-commit 570bb561
git cherry-pick --no-commit e2417541
git cherry-pick --no-commit e4d81f25bd
git cherry-pick --no-commit 5e8a587d

Change-Id: I101a385d43f3e0f4ce5352217f92ef67a3908c88
2010-08-04 23:47:38 -07:00
Brett Chabot
f22e876393 resolved conflicts for merge of 10928c37 to master
Change-Id: Idbe91a2fe90cab0a03fdef096dc6741dc5937351
2010-08-04 12:03:46 -07:00
Brett Chabot
672079a75a Fix Framework core tests import of android-common.
android.database.CursorWindowTest#testWriteCursorToWindow (and possibly other
tests) were was failing because it couldn't locate a android-common class.

Fix is to include android-common as a static library, as opposed to a runtime
library.

Change-Id: Iae50cf409e76a85ee79e4af71e9b903d18630078
2010-08-03 17:28:19 -07:00
Brett Chabot
10928c37f1 am c458b2ca: Merge "Frameworks core tests size cleanup." into gingerbread
Merge commit 'c458b2cab3a67e84f768af2247ba5235003a4ce4' into gingerbread-plus-aosp

* commit 'c458b2cab3a67e84f768af2247ba5235003a4ce4':
  Frameworks core tests size cleanup.
2010-08-03 16:04:03 -07:00
Vasu Nori
ce38b98feb do begin-end transaction before standalone insert/update/delete sql
also fix bug# 2871037
Change-Id: I13325f8eabff4f218d3206905010803b61d8e2cd
2010-08-02 14:51:33 -07:00
Brian Carlstrom
5e8a587d49 Tracking merge of dalvik-dev to master
Change-Id: Id4c19401ad0aa238219aaf5d9a20d2889d0a4b18
2010-07-28 23:49:30 -07:00
Brett Chabot
f76c56bcaa Frameworks core tests size cleanup.
Adjust test sizes to better align with the test's runtime.
Also do some import cleanup and migrate to non-deprecated classes.

Change-Id: Ib2b190ddbe84f9ea8f5d6d3604bd4855d00df7a9
2010-07-27 11:55:53 -07:00
Vasu Nori
fb16cbd9b2 add new API in SQLiteStatement to deprecate another.
1. SQLIteStatement.executeUpdateDelete() replaces execute() - and returns the
number of rows changed.
2. let SQLiteDatabase.execSQL() call the above new API - which
means all CRUD statements by execSQL() are stored in prepared statement cache.
3. remove the following from SQLiteDatabase
     lastrowId
     lastchangecount()
     native_execSQL()

Change-Id: I4e93a09dc381f425c3ae6ccc331a7bf227491e22
2010-07-26 13:00:07 -07:00
Vasu Nori
65a8883f0e don't store mDatabase in SQLiteCursor as it is already in SQLiteQuery
SQLiteCursor has two members: mQuery, mDatabase
but mQuery already has mDatabase.
there is no need for SQLiteCursor.mDatabase.
and everytime SQLiteQuery.mDatabase is to be used, try to use a pooled database
connection handle, if possible.
Change-Id: I42b2376d714a1a4091c843e245a45b882bb7fee6
2010-07-21 16:04:04 -07:00
The Android Open Source Project
506e6e0882 am 3a94ab02: merge from open-source master
Merge commit '3a94ab026f0434624f233e99b1a0aadb9152a09a'

* commit '3a94ab026f0434624f233e99b1a0aadb9152a09a':
  Allow ListPreference summary to use entry
2010-07-16 13:56:16 -07:00
The Android Open Source Project
3a94ab026f merge from open-source master
Change-Id: Ib00a02e90d5c2c0b4cc1919258b858930967198b
2010-07-16 13:50:12 -07:00
Kenny Root
ba636df784 Allow ListPreference summary to use entry
Currently when ListPreferences are used in a PreferenceActivity, the summary
values are set to the same as the current index in mEntryValue. This patch
adds the ability for a string substitution to be used in the summary
which points to the corresponding entry in mEntries to aid in
localization.

For example a preference may be named "color" with the following attributes
in the locale "de" (German):

mEntryValues = { "red", "green", "blue" }
mEntries = { "rot", "grün", "blau" }
mSummary = "Die Farbe ist %1$s."

getSummary() returns "Die Farbe ist grün."

Change-Id: Iea169ac3d1c9d6290d853fc7c67a7c4c8a11bb90
2010-07-13 10:28:44 -07:00
Vasu Nori
e25539fdfd reduce locking when using SQLiteStatement
Do compiling of sql, binding of args and execution of the SQL
statement within one single database lock period.
This reduces the number of times the database lock
needs to be acquired during the course of compilation, binding
and execution of a SQLiteStatement.

Change-Id: I22b090ec9e10fc0aa2532a93bafe610af2546b58
2010-07-09 12:31:12 -07:00
Vasu Nori
57feb5d9a7 STOPSHIP CL in master - make sqlite WAL default for all apps
for testing the sqlite WAL feature in the next few weeks.

Change-Id: I07234647b5e90d9e3bb0a5310b6cc449d58db428
2010-07-08 11:41:52 -07:00
Vasu Nori
2827d6d974 for WAL to work, can't keep prepared SQL stmt_id in SQLiteStatement
Some (including the Contacts app) do the following:
  1. Open database
  2. As part of database_connection.onCreate(),
       Create some SQLiteStatement objects to cache them in the process
  3. attach databases
WAL doesn't work with attached databases. so, apps doing the above
should enable WAL only if there are no attached databases.

But we would like to enable WAL automatically for all apps after step #1 above
and disable WAL if the app subsequently does 'attach database' SQL.

this works only if there are no SQLiteStatement objects created in step # 2,
because SQLiteStatements cwmaintain a hard-reference to the database connection
for life and also to the prepared SQL statement id.
It is quite difficult to disable WAL in step # 3
    if it is enabled in step # 1
    and then a connection pool gets used by step # 2

would make WAL disabling easier if SQLiteStatement refers to prepared SQL
statement id only when it is needed (during binding and execute calls)
and thus NOT tied to a spacific database conenction.

also, from the standpoint of not blocking readers, it helps NOT to have
SQLiteStatement be married to a database connection and prepared SQL statement
id for life.

Change-Id: I464d57042965a28d2bde88e0f44b66ec119b40dc
2010-07-07 15:33:42 -07:00
Vasu Nori
6ac21d30be unittests for DatabaseConnectionPool (and fix bugs)
Change-Id: I6f251b4bdd472bd840ea1be6497660f8c31cd3e3
2010-07-07 14:26:10 -07:00
Vasu Nori
59d60420ba deprecate method returning prepared sql statement id
this method causes sql statement in a SQLiteProgram object to be never
re-compiled. thats not desirable, is it?
there should be no need for this method.

Change-Id: I207fad6415c1e2ef4097ee65a3ff347b5435b994
2010-07-03 16:31:35 -07:00
Vasu Nori
2776d57403 Merge "fix broken build: renaming a testfile" 2010-07-03 16:00:59 -07:00