connection pool = number of database connections opened when the app opens
a database. These pooled connections are used by readers only and they
use the sqlite write-ahead-logging option to increase reader
concurrency.
The size of this connection pool depends on the number of CPUs, RAM etc.
On most single-core devices, this can be set to 1.
But on some multi-core devices with more RAM, pool size can be
more than 1.
On a device with more resources, here are the results of a test (in
coretests/src/android/database/sqlite/SQLiteDatabaseTest.java)
which measures the reader-parallelism achieved for different connection
pool sizes.
connpool-size = 1
num xacts by writer = 467
num-reads-in-xact/NOT-in-xact by reader1 = 1358/14542, by reader2 = 1431/14269
connpool-size = 2
num xacts by writer = 473
num-reads-in-xact/NOT-in-xact by reader1 = 5703/35227, by reader2 = 6222/35898
connpool-size = 3
num xacts by writer = 542
num-reads-in-xact/NOT-in-xact by reader1 = 6531/32329, by reader2 = 6252/32728
connpool-size = 4
num xacts by writer = 578
num-reads-in-xact/NOT-in-xact by reader1 = 6009/32701, by reader2 = 5977/32953
connpool-size = 5
num xacts by writer = 547
num-reads-in-xact/NOT-in-xact by reader1 = 6554/31186, by reader2 = 5318/31022
connpool-size = 6
num xacts by writer = 534
num-reads-in-xact/NOT-in-xact by reader1 = 5317/31463, by reader2 = 5413/31537
connpool-size = 7
num xacts by writer = 549
num-reads-in-xact/NOT-in-xact by reader1 = 5396/28004, by reader2 = 5214/28496
seems like connection pool size of 3 is optimal on this device.
Change-Id: I348ff5a31783c31b5e3e5ac78b7c2cea54ef114a
Merge commit '5b930c49b12bdb1461a18491db768c642c38d498' into gingerbread-plus-aosp
* commit '5b930c49b12bdb1461a18491db768c642c38d498':
SIP: add config flag for wifi-only configuration.
Merge commit 'b08013c312e3d849029a2f4c11889274c00f438d' into gingerbread-plus-aosp
* commit 'b08013c312e3d849029a2f4c11889274c00f438d':
Added overlay support for drawing/responding to text anchors.
Overlays let views draw and respond to touch events outside of their
bounds. This allows selection anchors to be friendlier and easier to
grab. This is currently private API, pending further evaluation.
Added themes/styles for text selection anchors.
Added assets for text selection anchors as provided by UX. The
left/right anchors are currently not suitable for use. They are here
for bookkeeping and replacement later. The theme currently uses the
'middle' anchor asset for all three. This will be changed once assets
are ready.
Change-Id: I01b21e5ae90cab201f86f38f2f5eeaf2bd7f6bcd
This adds a simple API to have your back stack automatically
shown as bread crumbs in the action bar. Introduces some APIs
to retrieve the current back stack.
Also fix a little bug in the "activated" state where it was
being propagated down the hierarchy as "selected". :p And from
that, fix the standard colors to be reasonable when in the
activated state.
Finally PreferenceActivity is updated to take advantage of
bread crumbs to show your place in the preferences.
Change-Id: I9d633bedf8d7c6e4ed9b25cb9698faa66c7dd9a4
New method : setQueryRefinementEnabled() which will either enable all suggestions
to have the little query refinement icon in the right or just the ones that have
a bit set in the new SUGGEST_FLAGS column of the suggestion provider cursor.
Merge commit '07980dc8a723c6a26003c1ebe74372a2b4fa6777' into gingerbread-plus-aosp
* commit '07980dc8a723c6a26003c1ebe74372a2b4fa6777':
Adding new assets for designers
Merge commit '1b60963c42e159aacc52d688defcac206e5ecec0'
* commit '1b60963c42e159aacc52d688defcac206e5ecec0':
Clarify the danger of READ_LOGS and DUMP permissions.
Merge commit '747c61535281b4d2958e293e83245a19ba58f6a0' into gingerbread-plus-aosp
* commit '747c61535281b4d2958e293e83245a19ba58f6a0':
ContactsContract: update SipAddress to be multi-valued
This is step (1) of the device-side changes to deal with SIP addresses
becoming first-class objects in focus.
It'll be multi-valued in focus, so make it multi-valued on the device
(just like Phone, Email, Im, etc.)
Possible types are CUSTOM, HOME, WORK, and OTHER.
Also while I was in there, fixed the typo in "TYPE_MAINDEN_NAME" in the
Nickname class. (I can't remove it, since it's public API, so I added a
new constant with the correct spelling and deprecated the misspelled
one.)
Bug: 3004838
TESTED: on passion:
- Flashed this change onto a device that already had a contact with a
SipAddress, verified that it still shows up fine in the UI.
- Wiped data, rerean SetupWizard and logged in, made sure that SIP
addresses got synced down properly.
- Edited SIP address on the device, made sure it got correctly synced
up to the SIP user-defined field.
Change-Id: I6ecf551b64f87de03a7807e6212297d91f9e3981
Merge commit 'b8dbdc293a8495a873a9c36353d6a9408c698256' into gingerbread-plus-aosp
* commit 'b8dbdc293a8495a873a9c36353d6a9408c698256':
Clarify the danger of READ_LOGS and DUMP permissions.
The logs inevitably contain PII, so now we are making that clear in user
strings and developer docs. Moving DUMP and READ_LOGS into the PERSONAL_INFO
group.
Note that this means we need string translations.
Change-Id: I1b5bf9d2d827ab1a31dedbdb30d0906a87c26a32
Merge commit '8f385affafddc1147b9dc4f0c4f49449ebf477c9' into gingerbread-plus-aosp
* commit '8f385affafddc1147b9dc4f0c4f49449ebf477c9':
Add new/changed drawable assets from design team
Merge commit '8626d1a33609287cffd5b0f7d187f478ff6d22ed' into gingerbread-plus-aosp
* commit '8626d1a33609287cffd5b0f7d187f478ff6d22ed':
Mark MODIFY_PHONE_STATE permission as signatureOrSystem
Use this in ListView and GridView if the top view is not checkable.
This allows PreferenceActivity to now highlight the current heading
that is being shown.
Change-Id: I0d28aded9a61a42962b4aece420ae4058712d963
This permission isn't needed right now, since there aren't actually any
public APIs that require it. (There are a few calls in the ITelephony
interface that do, but they're all hidden.)
Since there's no good reason for 3rd party apps to declare it, let's
mark it signatureOrSystem for now. We can bring it back -- and probably
split it apart into multiple finer-grained permissions -- once we
finally expose full telephony APIs to 3rd party apps (see bug 1043005).
Bug: 2989096
Change-Id: Idf898d5e12d648a959f622cd815e75597195aa82
- Have PreferenceActivity save and restore its header state.
- Keep track of the current header selection.
- When headers are updated, try to retain the current header selection.
Also fix issue #2995541: Cannot add new contact. We were not allowing
fragment transactions in some cases.
Change-Id: I4aa4c703ed5f4ecf9f425cd7eeea4740c6360ce9
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 '89e05fd560e3347070a55260b7aaec3db5647442' into gingerbread-plus-aosp
* commit '89e05fd560e3347070a55260b7aaec3db5647442':
Fix the layouting of the checkbox.