Commit Graph

1977 Commits

Author SHA1 Message Date
Dianne Hackborn
dda932005b am d4d68fe2: am cc7bd5ab: Merge "Update notification documentation to follow current guidelines." into ics-mr1
* commit 'd4d68fe20259e2d6aaae8bc4a38b360aa0b57081':
  Update notification documentation to follow current guidelines.
2012-01-13 18:25:31 -08:00
Dianne Hackborn
6ceca588a2 Update notification documentation to follow current guidelines.
The documentation is now consistent with the current UI guidelines
for handling notifications, and includes complete sample code showing
the correct way to do this.

Change-Id: I68f0afc62c2af164c3205535e62093679e2a256a
2012-01-12 15:48:20 -08:00
Adam Cohen
791a6331e3 Getting rid of hack where the wallpaper offset was being deferred
-> This was a hack, and with all the work going into vsync etc, it
   really shouldn't be needed.

Change-Id: I59005e2644e0ba08846a6c661e8c4e22640d8e02
2012-01-12 14:38:38 -08:00
Jesse Wilson
7c48707a9d Merge "Explicitly specify 'milliseconds' as alarm manager's time unit." 2012-01-04 08:22:36 -08:00
Jesse Wilson
79074cd935 Explicitly specify 'milliseconds' as alarm manager's time unit.
Change-Id: Ic247c1a17283f7b1aa51cae8a2b43e987208aa8a
2011-12-22 22:51:37 -05:00
Joe Fernandez
2b07267753 am 201469f5: am bb7f590a: Merge "docs: Add developer guide cross-references, Project ACRE, round 4" into ics-mr1
* commit '201469f54522436be79d4d6665721049bfc74320':
  docs: Add developer guide cross-references, Project ACRE, round 4
2011-12-22 15:59:34 -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
Jeff Brown
1fd4de0adc Merge "Add plumbing for dumping database info using dumpsys." 2011-12-16 12:33:54 -08:00
Joe Onorato
c6a7f358e8 Merge "Add a new ui mode for "appliance"" 2011-12-16 12:27:03 -08:00
Jeff Brown
6754ba24f1 Add plumbing for dumping database info using dumpsys.
Change-Id: I51b0364c3d3d41aa38a759fbce48e625fff1b2dd
2011-12-16 04:01:00 -08:00
Joe Onorato
44fcb83b38 Add a new ui mode for "appliance"
The idea is that this is a device which is more-or-less headless.  It
might have some limited interaction capabilities, but it's not something
that you want to rely on having.

Change-Id: Ib92f53a120bf83de781728011721a4859def7d9f
2011-12-15 16:16:14 -08:00
Marco Nelissen
18cb28756c Add ContentProvider.dump()
This is similar to the existing dump() facility for services.
ContentProviders can now implement dump() and that info will be shown
when running "dumpsys activity provider" and when taking a bugreport.

Change-Id: I33b3b132e3c4f920153355cc368eda2f725a715f
2011-12-15 12:13:59 -08:00
Dianne Hackborn
df3c49ee2e am 2ad8a89b: am a1279586: Merge "SDK only: now that support lib is in SDK, we can link to it." into ics-mr1
* commit '2ad8a89b4b55f1cf8994e5b044d496d889839403':
  SDK only: now that support lib is in SDK, we can link to it.
2011-12-12 18:01:22 -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
Daniel Sandler
328310c6fa System bar now renders the back button for recents
We used to render the back button in Recents
itself, but that had an inconsistent visual
experience.

As a part of this change, add the early beginning
of support for private status bar APIs for dimming
navigation buttons.

Bug: 3448536
2011-12-06 17:22:19 -08:00
Dianne Hackborn
f11fd2724f am 2fc9467e: am 88f10c6c: Merge "Fix issue #5679504: Device stuck and sudden reboot - Watchdog reset?" into ics-mr1
* commit '2fc9467e9a2ef1c22a0bc81cbcd2ced878dbdef7':
  Fix issue #5679504: Device stuck and sudden reboot - Watchdog reset?
2011-11-30 14:18:59 -08:00
Romain Guy
15540f8284 am 937925f5: am 7797cae2: Merge "Cache drawable constant states instead of drawables Bug #5678369" into ics-mr1
* commit '937925f56952f015a7ee7ea91b29f60b8c631d9e':
  Cache drawable constant states instead of drawables Bug #5678369
2011-11-30 14:13:49 -08:00
Dianne Hackborn
88f10c6ce5 Merge "Fix issue #5679504: Device stuck and sudden reboot - Watchdog reset?" into ics-mr1 2011-11-30 14:12:44 -08:00
Romain Guy
7797cae256 Merge "Cache drawable constant states instead of drawables Bug #5678369" into ics-mr1 2011-11-30 14:07:34 -08:00
Dianne Hackborn
1fbee79eb3 Fix issue #5679504: Device stuck and sudden reboot - Watchdog reset?
Calls to get the display size no longer need to acquire the global
window lock.

Change-Id: I751ea6ed0e20f1f521783f4bd5a8f9c31cd43573
2011-11-30 11:29:58 -08:00
Svetoslav Ganov
ddd51fdb71 am 4661a05b: am 2f504d9e: Merge "NumberPicker incorrectly shown for the old theme." into ics-mr1
* commit '4661a05bef8c98b18698202c758067ac9c965f77':
  NumberPicker incorrectly shown for the old theme.
2011-11-30 10:51:31 -08:00
Romain Guy
39fe17c8fb Cache drawable constant states instead of drawables
Bug #5678369

Caching drawables directly in a static map was responsible for runtime
restarts. If two different UI threads requested the same drawable, the
first thread to issue the request would be given a drawable callback
belonging to the second thread. This would cause an exception in
ViewRootImpl on invalidate.

The solution is to store the drawable states and to create a new
drawable instance every time a drawable is requested from the
cache. This is similar to how preloaded resources are handled.

Change-Id: I47e24e2a168cf67a3589185c6cd77b70f9a1c7cf
2011-11-30 10:34:07 -08:00
Svetoslav Ganov
9f086d812f NumberPicker incorrectly shown for the old theme.
1. NumberPicker is trying to greedily grow to its max size
   but if the max size is not specified the default value
   was the max integer which makes the widget get quite
   tall in some cases. Now the widget tries to reach the
   max size only if it has been specified.

2. NumberPicker was not computing its min width when the array
   of display values is set.

3. DatePicker' layout for the old Theme was adding a margin on
   the right of the group of spinners and if the calendar view
   is not shown the spinners were not centered. Added the spinners
   right margin to the left margin of the calendar view.

4. TimePickerDialog was using the wrong conext and was not dismissable
   on an outside touch. Same for the DatePickerDialog context.

bug:5646161

Change-Id: Ic15f9b3e6291b76493604230ceb4f783a04d4ac7
2011-11-29 18:40:05 -08:00
Jeff Brown
a4db1b7278 am 642de92b: am 9058435d: Merge "Fix races when content providers are acquired and released." into ics-mr1
* commit '642de92b3500446ab2d2a84fbe4ff9c083e8c1af':
  Fix races when content providers are acquired and released.
2011-11-15 11:29:59 -08:00
Jeff Brown
ddaa9ac896 Fix races when content providers are acquired and released.
This change fixes race conditions that occur very regularly when
content providers are accessed from multiple threads at the same
time.

When a content provider is not already in the application's cache,
the application needs to ask the ActivityManager to obtain it.
Meanwhile, another thread can come along and do the same thing.
This can cause problems because the application attempts to
install two copies of the provider and the reference counts
and other bookkeeping can get muddled.

Similarly, there are races between releasing the last reference
to a content provider and acquiring the content provider.  It's
possible for one thread to snatch the content provider from the
jaws of death.  We need to handle this explicitly to ensure that
the content provider does not accidentally get released right
after it was acquired by the other thread.

This change ensures that the reference count bookkeeping and
provider map are maintained in parallel while holding the same lock.
Previously because the lock was dropped and reacquired in the
middle of acquisition and removal, it was possible for a
content provider with a zero reference count to be returned
to the application.  Likewise, it was possible for a content
provider with a non-zero reference count to be disposed!

This change also performs compensatory actions when races are
detected to ensure that the necessary invariants are maintained
throughout.  In particular, it ensures that the application
drops a duplicate reference to a content provider when no
longer needed.

Another way to solve this problem would be to explicitly prevent
the races from happening in the first place by maintaining a
table of content providers that are in the process of being
acquired.  The first thread to attempt to acquire the provider
would store a record.  The next thread would find the record
and block until the first thread was finished.  I chose not
to implement the code in that manner because we would still
have needed to perform compensatory actions in the case where
the same provider binder has multiple logical names.  Also,
it could cause deadlocks if the attempt to acquire
a content provider were re-entrant for some bizarre reason.

Bug: 5547357
Change-Id: I2ad39a8acc30aaf7ae5354decd0a0a41e9b9c3da
2011-11-14 18:31:13 -08:00
Adam Cohen
e23a588eb5 am 621f9716: am 6066a2b4: Merge "Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)" into ics-mr1
* commit '621f971691e3e819ddcd95898f4f93498e00c2ad':
  Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)
2011-11-14 14:38:30 -08:00
Adam Cohen
6066a2b4de Merge "Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)" into ics-mr1 2011-11-14 14:33:06 -08:00
Adam Cohen
8e2e572224 Fix uncaught exception in WindowManager#setWallpaperOffsets (issue 5613241)
Change-Id: I4646095f4cde9514425be8ab2dbf805d9788aa5c
2011-11-14 13:28:50 -08:00
Svetoslav Ganov
531ded5514 Merge "Added missing comments in Instrumentation#sendStringSync" 2011-11-11 16:52:37 -08:00
Svetoslav Ganov
f434e37945 Added missing comments in Instrumentation#sendStringSync
Change-Id: Ib20c5f9763c4ff97dec02fbb79721da93e964bc7
2011-11-11 16:50:25 -08:00
Svetoslav Ganov
55c6ccce95 Merge "Instrumentation sendStringSync(String) may try to inject obsolete events." 2011-11-11 16:46:07 -08:00
Dianne Hackborn
d400d03f4a Merge "Fix issue #5595933: GREF leak due to race condition in..." into ics-mr1 2011-11-11 14:24:58 -08:00
Dianne Hackborn
5a6ef737ed Fix issue #5595933: GREF leak due to race condition in...
...LoadedApk.ServiceDispatcher.connected , LoadedApk.forgetServiceDispatcher

Don't be stupid if we receive a new binding to a ServiceConnection after it
has already been unbound.

Change-Id: I85a49de97372bf9af55542a89031f0b7a2ac8fbb
2011-11-11 12:31:52 -08:00
Svetoslav Ganov
c350f1604f Instrumentation sendStringSync(String) may try to inject obsolete events.
KeyEvents returned by KeyCharacterMap.getEvents() have the same time stamp
and the system rejects too old events. Hence, it is possible for an event
to become stale before it is injected if it takes too long to inject the
preceding ones. Now the time of the event is set just before injecting it.

Change-Id: I72b60d261f8bda857b331d0f1b1bd97f9f15def3
2011-11-11 10:43:13 -08:00
Adam Cohen
d562d300cd Merge "Deferring wallpaper update to improve workspace scrolling (issue 5506959)" into ics-mr1 2011-11-10 19:27:58 -08:00
Adam Cohen
041a0baba7 Deferring wallpaper update to improve workspace scrolling (issue 5506959)
-> On the Xoom, this change gets us back up to 60 fps. The
   change is really more of a workaround for the fact that we don't
   have vsync, and we ought to be able to change it back once we do.

Change-Id: I80888f18887bf5f2fed72c19641ed430ef6dbfcf
2011-11-10 16:53:26 -08:00
Romain Guy
a958265827 Initialize egl_cache with an app writeable file
Change-Id: I5dda234feab0fedd6e4179a80715ae20dee1c833
2011-11-10 14:20:10 -08:00
Dianne Hackborn
cd489c4ce5 Merge "Don't crash if there is no connectivity service." into ics-mr1 2011-11-08 17:58:26 -08:00
Dianne Hackborn
d4d32c594f Don't crash if there is no connectivity service.
Change-Id: I5f991896125fda22ff99b98a6aca244adbb17449
2011-11-08 17:33:59 -08:00
Dianne Hackborn
e4d4fbc8c0 Add drop box reports of low memory.
We are tagging these as "watchdog" to make them visible in the
reporting tools.

Also new am command to kill all background processes, mostly to make
it easier to test this stuff.

Change-Id: Ib9dc4747cd8bd44156fdf11d6a087cd4272203eb
2011-11-08 15:44:34 -08:00
Adam Powell
78fed9b78f Change the "start deferred" fragment API to "user visible hint"
Allow a fragment to set a hint of whether or not it is currently user
visible. This will be used implicitly to defer the start of fragments
that are not user visible until the loaders for visible fragments have
run. This hint defaults to true.

Change-Id: Id1349d319886a277ef07301f64f7b9e12c8729bf
2011-11-07 13:47:13 -08:00
Adam Powell
2db4e4bd1b Fix bug 5557267 - [ViewPager] non-primary fragments unnecessary
stopped if "defer start" is enabled

Only revise the target state in moveToState if it would cross the
stopped/started boundary.

Change-Id: I8f6e400331157eac9343261117cf633611fc1e4d
2011-11-02 14:30:47 -07:00
Adam Powell
89fc3acd4b Bug 5513073 - IllegalArgumentException: View not attached to window
manager

Remove extra queued dialog dismiss messages when applicable. Log an
error if the app tries to dismiss a dialog when its window has been
destroyed.

Change-Id: Ice8383d4420c052e31fbbd9fcd25051f3bd9b58d
2011-11-01 18:50:39 -07:00
Dianne Hackborn
ad41a94b29 Merge "Some optimizations." into ics-mr1 2011-11-01 18:02:44 -07:00
Dianne Hackborn
0500b3cfda Some optimizations.
- Don't try to create a thumbnail bitmap on the client side.  This
  wastes 64k, and isn't needed since we are doing screenshots.
- Optimize View to put all of the callback pointers out of line.
  Added a couple new APIs so these don't need to be protected/public.
- Lazily create ViewGroup's cache paint.
- Change FrameworkPerf app to not use HW accel drawing, to give better
  comparison with GB.

Change-Id: Iec56d02459820d74a4cc9c7ec9c1856563c82c7b
2011-11-01 18:01:33 -07:00
Adam Powell
cfe9aee728 Fix bug 5528574 - "View not attached to window manager" upon
orientation change when there is a dialog with ActionMode on

Fix a bug closing down active action modes as dialogs are closing.

Change-Id: I0d28e3b3845d5ed50fbb55b180dafa1b11957b81
2011-11-01 15:03:23 -07:00
Adam Powell
37510908a7 Bug 5535639 - Monkeys mad at FragmentManager
Also check for starting deferred start fragments when a loader is
destroyed.

Change-Id: Ia17a902c579c09d7ac01079c7c1da137635aa08b
2011-10-31 11:48:24 -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
Joe Fernandez
61fd1e8d8c docs: add developer guide cross references, Project ACRE, round 3
Change-Id: I6125315ecdf0f78dd947c514a9944729d723e95d
2011-10-28 14:23:23 -07:00
Adam Powell
635c60af62 Add API for deferring fragment start.
Fragments now have the setDeferStart method to signal that a fragment
has lower priority than others. Deferred start fragments will not
always be started immediately; they will be started once any loaders
have finished servicing any outstanding requests. This is useful if
any attached fragments are not immediately visible and can wait to
start until later.

Disabling deferStart on a fragment that is waiting for a deferred
start will start it immediately. Start.

Change-Id: Ia1f004877ca5e88d4f10147d21c7e2e97f141c34
2011-10-27 15:54:51 -07:00