Commit Graph

1377 Commits

Author SHA1 Message Date
Joe Malin
cfab13640c am 20176edc: Merge "DOC CHANGE: Add javadoc to ClipboardManager" into ics-mr1
* commit '20176edc4ff43f10ab3be03d84bb9f02b7859bdb':
  DOC CHANGE: Add javadoc to ClipboardManager
2012-04-19 10:10:23 -07:00
Joe Malin
20176edc4f Merge "DOC CHANGE: Add javadoc to ClipboardManager" into ics-mr1 2012-04-19 10:08:06 -07:00
Dirk Dougherty
56bab8bd83 am 4d7bc655: Doc change: String changes for Android Market
* commit '4d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219':
  Doc change: String changes for Android Market
2012-03-05 22:55:49 -08:00
Dirk Dougherty
4d7bc65538 Doc change: String changes for Android Market
Change-Id: I823812a4fd24021bec906ad856479c92a8d2a759
2012-03-05 22:02:35 -08:00
Jean-Baptiste Queru
6ae4fe945b am 9303919d: Merge "Adds documentation for ContentResolver notifyChange()"
* commit '9303919d7d837dedf16f09ace0013e62670568e7':
  Adds documentation for ContentResolver notifyChange()
2012-02-29 15:44:34 -08:00
Steve Pomeroy
d7a1aada2d Adds documentation for ContentResolver notifyChange()
Adds clarifying documentation to ContentResolver#notifyChange() to
explain interaction with the sync framework.

Change-Id: Ia1a1ed173e230bc11aa778268749323536ca434f
Signed-off-by: Steve Pomeroy <steve@staticfree.info>
2012-01-18 16:15:59 -05:00
Dianne Hackborn
613989772f Unhide Resources APIs for getting resources at specific densities.
This adds Resources.getDrawableForDensity() and
Resources.getValueForDensity().  These are needed for applications
to correctly retrieve larger icons such as in launcher when
running on a tablet.  We had already exposed the APIs to tell the
application which density to use for app icons on the current
device, but didn't unhide these APIs that allowed you to
actually retrieve them.

This is safe to do without introducing a new API level (as long
as we do it soon) because we know these APIs already exist in
Android 4.0, and there is no reason for anyone to be removing
them when building a device.

Change-Id: I5138e5dc908197b66a98d20af73c5374cb5d41d3
2012-01-09 12:00:30 -08:00
Joe Fernandez
3aef8e1d1b docs: Add developer guide cross-references, Project ACRE, round 4
Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
2011-12-22 15:08:23 -08:00
Joe Malin
413e9b3a5c DOC CHANGE: Add javadoc to ClipboardManager
Change-Id: Ib499952c45f3448897a2876ed7a7edd5c3dfebfd
2011-12-19 13:05:29 -08:00
Dianne Hackborn
251fe26375 Fix some java docs.
Change-Id: I0eeba6f9108db74418063fba522ed3ef1c27ae95
2011-12-14 17:20:54 -08:00
Dianne Hackborn
7871badd5d SDK only: now that support lib is in SDK, we can link to it.
Update some of the platform documentation to directly link to
relevent support lib docs.  Yay!

Also improve BroadcastReceiver documentation to more clearly
discussion security around receivers, and how the support
lib's LocalBroadcastManager can help.

Change-Id: I563c7516d5fbf91ab884c86bc411aff726249e42
2011-12-12 15:39:50 -08:00
Joe Malin
3744d1faf5 am 9e2cf49f: Merge "DOC CHANGE: Add Content URI ref doc" into ics-mr0
* commit '9e2cf49fa360e70b33a870e9ae0b3eec11752972':
  DOC CHANGE: Add Content URI ref doc
2011-12-07 11:28:25 -08:00
Dianne Hackborn
0c0120efa2 Merge "Fix issue #5714517: App shortcuts can result in bad task intents" into ics-mr1 2011-12-05 19:16:54 -08:00
Dianne Hackborn
f5b8671c34 Fix issue #5714517: App shortcuts can result in bad task intents
New API to let you build an Intent whose base configuration is correct,
but has an additional "selector" to pick out the specific app that you
would like launched.

Change-Id: Ide9db6dc60e2844b7696cfe09b28337fe7dd63db
2011-12-05 17:42:41 -08:00
Fred Quintana
33e4469417 By default ICS allows two syncs to run in parallel. Make it only
do one at a time for devices that don't have much RAM as
defined by the call ActivityManager.isLargeRAM()

Bug: 5713224
Change-Id: Ic8c42103f4031e1d7b1db797edcbbd7f7bac1387
2011-12-05 15:44:34 -08:00
Joe Malin
1d7d0af9a1 DOC CHANGE: Add Content URI ref doc
Change-Id: I859b4bdc9d78f1f5e5769fe3fee421af2ad85778
2011-12-05 10:30:51 -08:00
Jeff Brown
6651a63834 Fix application launch shortcuts.
Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.

Added a set of Intent categories for typical applications on the
platform.

Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys.  Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos.  The goal is to encourage them
to stop doing this by implementing more of HID.

Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
2011-11-29 12:17:22 -08:00
Christopher Tate
60201f2b4e XML parsing optimizations
Traceview showed approximately 10% of total parse time inside the
synthetic 'trampoline' methods generated to provide inner classes
with access to their outer class's private fields.  The bottleneck
in this particular case is in XmlBlock and its inner class Parser.

Making the bottlneck outer-class members and methods package-scope
instead of private removes that 10% overhead being spent within
these access trampolines.

Traceview tends to overemphasize the significance of very small
methods such as these trampolines.  That said, the measured speed
gain on the ParseLargeXmlResFg op due to this patch is between
5% and 6%.

Change-Id: Ia0e3ae5408d1f9992b46e6e30dd2407090379b07
2011-11-11 16:10:42 -08:00
Kenny Root
685f490eff Update GET_UNINSTALLED_PACKAGES flag documentation
Change-Id: I483b84f07836e6ad96c75e7dd3a86633cb29db22
2011-11-03 10:13:29 -07:00
Dianne Hackborn
2c84cfc001 Various performance and other work.
- IME service now switches between visible and perceptible depending on
  whether it is being showm, allowing us to more aggressively free its
  memory when not shown.

- The activity display time is no longer delayed by the activity
  transition animation.

- New -R (repeat) option for launching activities with the am command.

- Improved some documentation on Loader to be clear about some methods
  that apps should not normally call.

- FrameworkPerf test now allows you to select individual tests to run.

Change-Id: Id1f73de66dc93d63212183958a72119ad174318b
2011-10-31 16:52:34 -07:00
Joe Fernandez
74b2b95473 am 09848bc8: Merge "docs: add developer guide cross references, Project ACRE, round 3" into ics-mr0
* commit '09848bc89de999416e2de82a7693b2deec6bf802':
  docs: add developer guide cross references, Project ACRE, round 3
2011-10-29 02:16:10 +00:00
Dianne Hackborn
e02c88af79 Work on process management.
Introduce a new concept of "B" services.  All running services are
classified as either A or B.  B services are later in the LRU list.
Their oom_adj is after the home app.  This allows us to better pick
services to kill based on how long they have running, and should
reduce the amount that we end up killing the home app.

This temporarly turns on a debug log when the oom_adj of a process
is changed.  Sorry, I know it is noisy.  This is needed to try to
track down why some processes are being killed.

Also add a flag to the SyncManager's service binding to allow the
syncing process to be more aggressively killed if it has done UI.
This is to address cases we have seen where sync is causing an 80MB
gmail process to be kept around, preventing other process from running.
Now what will happen is that the syncing process will aggressively be
killed by the system, and can then be restarted in a much lighter-weight
state.

Do a little tweak in the power manager to allow us to still do smooth
brightness changes even when the fancy TV off animation is in use.

And get rid of a debug log in the window manager that was accidentally
left in.

Change-Id: I64a8eeaaa1f096bab29c665fbff804c7f1d029e2
2011-10-28 17:15:08 -07:00
Joe Fernandez
61fd1e8d8c docs: add developer guide cross references, Project ACRE, round 3
Change-Id: I6125315ecdf0f78dd947c514a9944729d723e95d
2011-10-28 14:23:23 -07:00
Dianne Hackborn
12b3e39ecb am 4bbd71a6: Merge "Fix issue #5228934: IME shows up on boot, or when digits screen is tapped" into ics-mr0
* commit '4bbd71a6b2f4957f4778da13861ec03d30afbee7':
  Fix issue #5228934: IME shows up on boot, or when digits screen is tapped
2011-10-21 13:59:07 -07:00
Dianne Hackborn
0836c7cb98 Fix issue #5228934: IME shows up on boot, or when digits screen is tapped
Activity aliases weren't propagating the softInputMode from the original
activity.

Change-Id: I47534e6c9a0f94bb6eb3fd2186ba9ffc8d583d08
2011-10-20 18:40:23 -07:00
Dianne Hackborn
3585a3dfc6 am 47f8367a: Merge "Work on issue #5465917: Wakelock *overflow* held for very long times" into ics-mr0
* commit '47f8367ab79247501d5d204632a7797fa8a888e5':
  Work on issue #5465917: Wakelock *overflow* held for very long times
2011-10-19 11:10:18 -07:00
Dianne Hackborn
c24ab866b0 Work on issue #5465917: Wakelock *overflow* held for very long times
- Fix ordering problem in sync manager that would cause its wake
  locks to slightly appear in the system process when they should
  be fully accounted against the app.
- Allow the system process to have more wake lock names in its
  battery stats.
- In the bug report output, print totals of the wake locks for each
  process, to make it easier to parse what is being printed for things
  like the system process with a huge number of individual wake locks.

Change-Id: I3cf39330f22f3c51c11e65e4124150d73a7da2dd
2011-10-18 16:38:17 -07:00
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