Commit Graph

1350 Commits

Author SHA1 Message Date
Jeff Brown
aac01f699f Merge "Add a CrossProcessCursorWrapper. Bug: 5220669" 2011-10-14 21:06:22 -07:00
Joe Fernandez
471fa9d10b Merge "docs: add developer guide cross-references, Project ACRE, Round 2" into ics-mr0 2011-10-14 10:52:33 -07:00
Joe Fernandez
558459fe85 docs: add developer guide cross-references, Project ACRE, Round 2
Change-Id: I39a534ae3a2a34b4dabc333a09961012ef911d3e
2011-10-14 10:18:33 -07:00
Kenny Root
22dad40d3e Merge "Add support for signature in getPackageArchiveInfo" into ics-mr0 2011-10-13 17:10:17 -07:00
Kenny Root
6ccd41265d Add support for signature in getPackageArchiveInfo
GET_SIGNATURES was indicated as supported, but it never actually did
anything.

This is needed for the package verifier development sample.

Change-Id: I09ca6790cd8bf9435aa208c0711359b4d76fb278
2011-10-13 14:57:31 -07:00
Jeff Brown
825c5132bf Add a CrossProcessCursorWrapper.
Bug: 5220669

The CrossProcessCursorWrapper is a useful building block
for wrapping cursors that will be sent to processes remotely.
It can also transform normal Cursors into CrossProcessCursors
transparently.

The new class fixes common performance problems and bugs
that applications have encountered when implementing
ContentProviders.

Change-Id: Icc59fec10add3f7d8cfbd0495447860c1872c752
2011-10-13 14:24:26 -07:00
Daniel Lehmann
cc21cc017b Merge "Allow clearing out the source bounds" into ics-mr0 2011-10-12 18:16:15 -07:00
Daniel Lehmann
a5b58df097 Allow clearing out the source bounds
Change-Id: Id49f4a3ac397cf17c5704d298b6a9a376f6a5c23
2011-10-12 16:24:22 -07:00
Jeff Brown
0cde89f5f0 Use ashmem for CursorWindows.
Bug: 5332296

The memory dealer introduces additional delays for reclaiming
the memory owned by CursorWindows because the Binder object must
be finalized.  Using ashmem instead gives CursorWindow more
direct control over the lifetime of the shared memory region.

The provider now allocates the CursorWindows and returns them
to clients with a read-only protection bit set on the ashmem
region.

Improved the encapsulation of CursorWindow.  Callers shouldn't
need to care about details like how string fields are allocated.

Removed the compile-time configuration of string and numeric
storage modes to remove some dead weight.

Change-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd
2011-10-11 11:03:19 -07:00
Dianne Hackborn
58f42a59bd Fix issue #5405788: Device continuously opening and closing...
...the "Complete action using" dialog

When an application goes idle, it sends back to the activity manager
the configuration it last used, to make sure the two don't get out
of sync.  Fix a bunch of edge cases here in dealing with that, and
be sure to also send the current configuration when launching an
activity so the client is always up-to-date when launching.

Also a small fix to not show the upgrading dialog during first boot.

Change-Id: I14ed366a87cd689d1c78787369e052422290ac6f
2011-10-10 14:53:08 -07:00
Jeff Brown
184b44e794 Merge "Fix ownership of CursorWindows across processes. Bug: 5332296" 2011-10-10 14:06:09 -07:00
Jeff Brown
222b92a732 Merge "Implement CloseGuard in ContentResolver." 2011-10-10 11:48:49 -07:00
Jeff Brown
326e8748f0 Merge "Clean up handrolled Binder proxies. Bug: 5332296" 2011-10-10 11:48:39 -07:00
Jeff Brown
d2183654e0 Fix ownership of CursorWindows across processes.
Bug: 5332296

Ensure that there is always an owner for each CursorWindow
and that references to each window are acquired/released
appropriately at all times.

Added synchronization to CursorToBulkCursorAdaptor to
prevent the underlying Cursor and CursorWindow from being
remotely accessed in ways that might violate invariants,
resulting in leaks or other problems.

Ensured that CursorToBulkCursorAdaptor promptly releases
its references to the Cursor and CursorWindow when closed
so they don't stick around longer than they should, even
if the remote end hangs onto the IBulkCursor for some reason.

CursorWindow respects Parcelable.FLAG_WRITE_RETURN_VALUE
as an indication that one reference to the CursorWindow is
being released.  Correspondingly, CursorToBulkCursorAdaptor
acquires a reference to the CursorWindow before returning
it to the caller.  This change also prevents races from
resulting in the transfer of an invalid CursorWindow over
the wire.

Ensured that BulkCursorToCursorAdaptor promptly releases
its reference to the IBulkCursor when closed and throws
on attempts to access the cursor while closed.

Modified ContentProviderNative to handle both parts of
the wrapping and unwrapping of Cursors into IBulkCursors.
This makes it a lot easier to ensure that the right
things happen on both ends.  Also, it turns out that
the only caller of IContentProvider.bulkQuery was
ContentProviderNative itself so there was no need
to support bulkQuery on ContentProviderProxy and it was
just getting in the way.

Implement CloseGuard on CursorWindow.

Change-Id: Ib3c8305d3cc62322f38a06698d404a2989bb6ef9
2011-10-09 22:10:36 -07:00
Dianne Hackborn
229edbc38d Calling close() outside of the main thread breaks stuff.
Too dangerous to fix at this point.

Change-Id: I7de5bfecd757fbae635b02c2c2d9ba7ce3bcb435
2011-10-09 16:01:40 -07:00
Jeff Brown
baaf8c3f55 Implement CloseGuard in ContentResolver.
Also, don't try to close the cursor from the finalizer,
it just won't work because quite probably the Binder underneath
it has already been finalized or is about to be.

Change-Id: I6363cd30f32abe15412948d126e0bcc5f62943c5
2011-10-09 15:01:10 -07:00
Jeff Brown
df6611d8c0 Clean up handrolled Binder proxies.
Bug: 5332296

We can't replace these with AIDL generated proxies just yet, but
at least we can make them a little more conformant.

Change-Id: I1814f76d0f9c5e44a7fd85a12b2e3c2b7e3c9daa
2011-10-09 13:00:35 -07:00
Dianne Hackborn
421fa27445 Fix issue #5418999: [From My Phone] - ANR when navigating back from OneUp view
Close cursors asynchronously.

Change-Id: I32c106d26c0443710789344bf823c288eaf31db5
2011-10-09 12:50:45 -07:00
Joe Fernandez
cac15eb21c Merge "docs: add developer guide cross-references, Project ACRE" 2011-10-04 14:03:12 -07:00
Joe Fernandez
b54e7a3d9f docs: add developer guide cross-references, Project ACRE
Change-Id: I5df1c4e13af67ff4c4a5b22f3cb1247bf0103b09
2011-10-04 13:57:00 -07:00
Alon Albert
62abf34d0d Merge "Update dumpsys output" 2011-10-04 08:39:46 -07:00
Dianne Hackborn
9ecebbfbf7 Add mechanism for Parcel to not allow FDs to be written to it.
This is to help implement issue #5224703.

Change-Id: I026a5890495537d15b57fe61227a640aac806d46
2011-10-03 16:58:41 -07:00
Alon Albert
bf976ba657 Update dumpsys output
After using the new format for a few days, I decided it's better to ahve the auth & acct
info on every row because we will sometimes grep the data and won't see it if the auth/acct
is ommited.

Also added the "time since last sync" to every row. This is also very useful.

Detailed Statistics (Recent history):  31 (# of times) 119s (sync time)
-------------------------------------------------------------------------------------
  subscribedfeeds                                             : 8/25%      17s/14%
    aagmtest2@gmail.com/com.google                            :   5/16%      16s/13%
    aagmtest1@gmail.com/com.google                            :   3/9%       1s/0%
-------------------------------------------------------------------------------------
  com.android.calendar                                        : 5/16%      10s/8%
    aagmtest2@gmail.com/com.google                            :   3/9%       0s/0%
    aagmtest1@gmail.com/com.google                            :   2/6%       9s/8%
-------------------------------------------------------------------------------------
  com.google.android.apps.books                               : 3/9%       26s/22%
-------------------------------------------------------------------------------------
  com.android.contacts                                        : 3/9%       14s/11%
    aagmtest1@gmail.com/com.google                            :   2/6%       9s/7%
    aagmtest2@gmail.com/com.google                            :   1/3%       5s/4%
-------------------------------------------------------------------------------------
  com.android.browser                                         : 3/9%       12s/10%
-------------------------------------------------------------------------------------
  com.google.android.music.MusicContent                       : 3/9%       7s/6%
-------------------------------------------------------------------------------------
  gmail-ls                                                    : 2/6%       12s/10%
-------------------------------------------------------------------------------------
  com.google.android.apps.plus.content.EsGooglePhotoProvider  : 2/6%       1s/0%
    aagmtest2@gmail.com/com.google                            :   1/3%       1s/0%
    aagmtest1@gmail.com/com.google                            :   1/3%       0s/0%
-------------------------------------------------------------------------------------
  com.google.android.apps.plus.content.EsProvider             : 1/3%       10s/9%
-------------------------------------------------------------------------------------
  com.google.android.gallery3d.GooglePhotoProvider            : 1/3%       5s/5%
-------------------------------------------------------------------------------------

Recent Sync History
  #1  : 2011-10-03 13:26:41   SERVER    0.0s            aagmtest2@gmail.com/com.google  com.android.calendar
  #2  : 2011-10-03 13:26:40    LOCAL    1.8s            aagmtest2@gmail.com/com.google  subscribedfeeds
  #3  : 2011-10-03 13:26:40    LOCAL    0.1s            aagmtest1@gmail.com/com.google  subscribedfeeds
  #4  : 2011-10-03 13:26:37   SERVER    0.1s         4  aagmtest2@gmail.com/com.google  com.android.calendar
  #5  : 2011-10-03 13:26:37    LOCAL    0.1s            aagmtest2@gmail.com/com.google  com.google.android.apps.books
  #6  : 2011-10-03 13:26:30   SERVER    0.9s         7  aagmtest2@gmail.com/com.google  com.google.android.apps.books
  #7  : 2011-10-03 13:26:25   SERVER    1.1s            aagmtest2@gmail.com/com.google  gmail-ls
  #8  : 2011-10-03 13:26:13   SERVER   11.8s        11  aagmtest2@gmail.com/com.google  gmail-ls
  #9  : 2011-10-03 13:26:08   SERVER    5.0s            aagmtest2@gmail.com/com.google  com.android.contacts
  #10 : 2011-10-03 13:26:08   SERVER    0.7s        29  aagmtest2@gmail.com/com.google  com.android.calendar
  #11 : 2011-10-03 13:26:07   SERVER    0.7s            aagmtest2@gmail.com/com.google  com.android.browser
  #12 : 2011-10-03 13:26:04   SERVER    3.0s         2  aagmtest2@gmail.com/com.google  com.android.browser
  #13 : 2011-10-03 13:26:04   SERVER   25.9s        25  aagmtest2@gmail.com/com.google  com.google.android.apps.books

Change-Id: I8da004f469d136fd9a86310b262eba61197fd0e7
2011-10-03 15:16:20 -07:00
Mathew Inwood
d0e8fb431a Merge "Document thrown IllegalArgumentException." 2011-09-28 01:20:04 -07:00
Alon Albert
e0bde33e0d Add Detailed Sync Stats Section
Also improve history formatting
Here's a smaple of what it looks like:

Detailed Statistics (Recent history):  20  40s
-------------------------------------------------------------------------------------
  com.android.contacts                                        : 9/45%      11/27%
    aagmtest1@gmail.com/com.google                            :   3/15%      4/11%
    aagmtest2@gmail.com/com.google                            :   3/15%      3/9%
    aalbert@google.com/com.google                             :   3/15%      2/6%
-------------------------------------------------------------------------------------
  gmail-ls                                                    : 6/30%      22/56%
-------------------------------------------------------------------------------------
  com.android.calendar                                        : 3/15%      5/14%
    aagmtest1@gmail.com/com.google                            :   1/5%       4/12%
    aagmtest2@gmail.com/com.google                            :   1/5%       0/0%
    aalbert@google.com/com.google                             :   1/5%       0/0%
-------------------------------------------------------------------------------------
  com.google.android.apps.plus.content.EsGooglePhotoProvider  : 2/10%      0/1%
    aagmtest1@gmail.com/com.google                            :   1/5%       0/1%
    aagmtest2@gmail.com/com.google                            :   1/5%       0/0%
-------------------------------------------------------------------------------------

Recent Sync History
  #1  : 2011-09-23 15:18:35   SERVER    0.8s  aalbert@google.com/com.google   gmail-ls
  #2  : 2011-09-23 15:17:56   SERVER    1.3s  00:38
  #3  : 2011-09-23 15:17:52   SERVER    4.6s  00:04
  #4  : 2011-09-23 15:17:45   SERVER    1.7s  00:06
  #5  : 2011-09-23 15:16:51    LOCAL    0.8s  aagmtest2@gmail.com/com.google  com.android.contacts
  #6  : 2011-09-23 15:16:51    LOCAL    0.7s  aalbert@google.com/com.google   com.android.contacts
  #7  : 2011-09-23 15:16:50    LOCAL    0.7s  aagmtest1@gmail.com/com.google  com.android.contacts
  #8  : 2011-09-23 15:15:35    LOCAL    0.7s  aalbert@google.com/com.google   com.android.contacts
  #9  : 2011-09-23 15:15:34    LOCAL    0.8s  aagmtest2@gmail.com/com.google  com.android.contacts
  #10 : 2011-09-23 15:15:33    LOCAL    1.9s  aagmtest1@gmail.com/com.google  com.android.contacts
  #11 : 2011-09-23 15:14:37    LOCAL    1.3s  aalbert@google.com/com.google   com.android.contacts
  #12 : 2011-09-23 15:14:35    LOCAL    2.0s  aagmtest1@gmail.com/com.google  com.android.contacts
  #13 : 2011-09-23 15:14:32    LOCAL    2.2s  aagmtest2@gmail.com/com.google  com.android.contacts
  #14 : 2011-09-23 15:13:41   SERVER    1.3s  aalbert@google.com/com.google   gmail-ls
  #15 : 2011-09-23 15:13:34    LOCAL    0.3s  aalbert@google.com/com.google   com.android.calendar
  #16 : 2011-09-23 15:13:34    LOCAL    0.4s  aagmtest2@gmail.com/com.google  com.android.calendar
  #17 : 2011-09-23 15:13:33   SERVER    0.1s  aagmtest2@gmail.com/com.google  com.google.android.apps.plus.content.EsGooglePhotoProvider
  #18 : 2011-09-23 15:13:33   SERVER    0.5s  aagmtest1@gmail.com/com.google  com.google.android.apps.plus.content.EsGooglePhotoProvider
  #19 : 2011-09-23 15:13:29    LOCAL    4.9s  aagmtest1@gmail.com/com.google  com.android.calendar
  #20 : 2011-09-23 15:13:28   SERVER   13.1s  aalbert@google.com/com.google   gmail-ls

Change-Id: Idc904e2e18a373b6d2d10af65b02683c11fd8d90
2011-09-27 13:15:30 -07:00
Mathew Inwood
1b9f8d92a9 Document thrown IllegalArgumentException.
Change-Id: I502f91e3c1130c14ad8f67934bf52a7206de302f
2011-09-26 13:23:56 +01:00
Kenny Root
05ca4c9064 Allow non-required package verifiers
* Verifiers can be specified in the AndroidManifest.xml

* Those verifiers can respond to the new Intent action

* PackageManager API for those verifiers: verifyPendingInstall

Change-Id: I4892bce2e6984871e6e93c60a1ca0dae145f5df5
2011-09-23 16:03:03 -07:00
Dianne Hackborn
a982ad19d2 Merge "Fix issue #5173952: Opening a Notification From Lock Screen..." 2011-09-23 14:54:26 -07:00
Dianne Hackborn
90c52de286 Fix issue #5173952: Opening a Notification From Lock Screen...
...Should Skip Unsecure Lockscreen (ICS)

Also while I am in there, clean up logging of intent objects to include
even less sensitive information, while showing the true Intent in dump
output (since apps can't get to that).

Change-Id: I35fed714645b21e4304ba38a11ebb9c4c963538e
2011-09-23 13:39:33 -07:00
Scott Main
e797ed6a74 docs: a few additions and revisions to action bar docs
Change-Id: I12c24e5d4ed49d8f9822050d330f617bd614b7b9
2011-09-23 12:56:20 -07:00
Kenny Root
3a9b5fbb97 Unhide new PackageManager APIs for API 14
Change-Id: I83110285ccee39a4cd872a1c2af8357f541833d4
2011-09-20 14:35:10 -07:00
Kenny Root
c11bc8d224 Be more forgiving in parsing verifier IDs
RFC 4648's Base32 is made to be forgiving for users doing manual entry
of the digits. For this reason we want to be able to parse lowercase
letters as uppercase and number 0 (zero) as letter O along with number
1 (one) as letter I.

Cherry-pick into ics-factoryrom

Change-Id: I149d8e947ff8b36305c1e61d8a1d80ff0b317cda
2011-09-15 21:04:57 -07:00
Kenny Root
c924fbd693 Merge "Add verifier device identity" 2011-09-13 17:51:08 -07:00
Irfan Sheriff
651cdfcbac Unhide wifi p2p API
Bug: 5247957
Change-Id: Id93e30c0cb60f361ba13a840de8f843415777336
2011-09-13 16:04:00 -07:00
Kenny Root
0aaa0d9317 Add verifier device identity
This adds a special device identifier that is usable only for device
validation. The user will be presented with this number encoded in
easily-transcribable Base32 in the Developer options of Settings.

Change-Id: I4843f55ee90d689a51d0269b22454ca04c1be7ec
2011-09-13 16:02:43 -07:00
Dianne Hackborn
ab0f485e64 Fix problems where we were allocating TypedArray when not needed.
Fixes up some recycling of TypedArray objects to reduce the
number we need to allocate during inflation etc.

Change-Id: I948dccc052997779001eaa99db2a710b04be01ae
2011-09-12 17:04:32 -07:00
Dianne Hackborn
83f9dfe0f0 Merge "Add boot mode where only "core apps" are started." 2011-09-12 15:07:51 -07:00
Dianne Hackborn
d2509fd835 Add boot mode where only "core apps" are started.
A core app is one that has coreApp="true" in its manifest tag.

The system can successfully boot (though a little painfully) with
only framework-res.apk, SettingsProvider.apk, SystemUI.apk,
DefaultContainerService.apk, and Launcher2.apk set as core apps.

Currently this boot mode is always turned off.

Change-Id: Ieaa4a8031c2c391a12996aa8d8b1d65fc2b09d6b
2011-09-12 12:29:43 -07:00
Fred Quintana
87b146625a Revert "Make the SyncManager timeout syncs if it takes too long to bind to them."
This reverts commit bf3c634dc5

Bug: 5290505
Change-Id: I11a681b48360f5c200a0602c4daf30ae82b4209c
2011-09-12 10:50:53 -07:00
Fred Quintana
16e1678df4 Merge "Make the SyncManager have wakelocks per account, not per account type, otherwise the parallel sync behavior of gmail can cause the first account to finish to release the wakelock that is used for the other account, which will result in the device going to sleep before the sync is complete." 2011-09-08 17:53:03 -07:00
Fred Quintana
fdb2dca454 Make the SyncManager have wakelocks per account, not per account type,
otherwise the parallel sync behavior of gmail can cause the first
account to finish to release the wakelock that is used for the other
account, which will result in the device going to sleep before the
sync is complete.

Change-Id: I7658465ca0956dfd9bb341de03126869e6217d31
2011-09-08 15:59:56 -07:00
Subir Jhanb
795b6490fe Changing the timeout for detecting syncs that are taking too long to bind
BUG: 5222661

Change-Id: I9406980e26a4ee30ac6d5470bc97928e3dc74d24
2011-09-08 13:12:21 -07:00
Dianne Hackborn
905577f634 Fix issue #5263361: Browser instance not created in application picker
The resolver activity was hiding the following activity from recents.

Also some other fixes: a little better memory use debugging, removed
some unneeded code from window manager, moved some system activities
into their own process, added some more running process information for
manage apps.

Change-Id: I66687d16989ff965d524b92dc360f37c19199717
2011-09-08 10:35:11 -07:00
Irfan Sheriff
1a58dce0cc Merge "Add feature definition for Wi-Fi Direct" 2011-09-07 14:50:32 -07:00
Irfan Sheriff
45b8b46499 Add feature definition for Wi-Fi Direct
Bug: 5267396
Change-Id: I4f61b0afd1466420ab951f6d74ec444036772b21
2011-09-07 11:51:48 -07:00
Dianne Hackborn
9b44aaefc0 Some more preloaded drawables.
More to come.

Change-Id: I28393c6e52553e960d3a765ba793cfdbf36460ff
2011-09-06 10:58:30 -07:00
Fred Quintana
f705f788b5 Merge "Make the SyncManager timeout syncs if it takes too long to bind to them." 2011-09-01 17:35:25 -07:00
Fred Quintana
bf3c634dc5 Make the SyncManager timeout syncs if it takes too long to bind to them.
Bug: 5222661
Change-Id: Ia6b995744860a27d13ad1ee64fa06bef137b7731
2011-08-31 18:04:27 -07:00
David Brown
93d77b633e Don't log PII when launching intents with "sms:" or "sip:" URIs
We were already redacting phone numbers from "tel:" and "smsto:" URIs.

Now, do that for "sms:" and "sip:" too, since those schemes are equally
likely to contain PII in the scheme-specific part.

TESTED: Received incoming call; selected "Respond via SMS" -> "Custom
        message"; confirmed no PII in the system log.

Bug: 5244735
Change-Id: If2444c8901249aac9fd8e6b809d6da01db2e27c1
2011-08-31 17:04:17 -07:00
Fabrice Di Meglio
d32f27aec0 Merge "Fix bug #5199577 TextView with android:password="true" is showing the "dots" on the left even if the password chars are RTL" 2011-08-26 14:05:09 -07:00