Commit Graph

1969 Commits

Author SHA1 Message Date
Jean-Baptiste Queru
541803ccc5 am fd63c857: Merge "Wipe the user data out in any case."
* commit 'fd63c85742f4b12065418d48ae10be4bb12468f5':
  Wipe the user data out in any case.
2012-05-25 08:09:39 -07:00
Jean-Baptiste Queru
fd63c85742 Merge "Wipe the user data out in any case." 2012-05-25 07:31:27 -07:00
Dianne Hackborn
5a75d29eec am d29032e3: Merge "Do not dispatch context selection events to non-visible fragments."
* commit 'd29032e362d41e81ed07d97b8103df855427cb14':
  Do not dispatch context selection events to non-visible fragments.
2012-04-25 21:30:40 -07:00
Jake Wharton
0e567987d7 Do not dispatch context selection events to non-visible fragments.
When used in a `ViewPager`, fragments that are present on the adjacent,
cached pages will receive context selection dispatches which, depending
on your fragment contents, can be difficult to determine whether or not
the event truly originated from your view.

By using the visible hint we restrict dispatching to only those fragments
which are marked as being visible. Since the fragment pager adapter
updates this setting properly most implementations will be afforded this
fix without any change required. If the user is implementing their own
adapter they likely already understand the implications of these cached
fragments and the reponsibility for updating the boolean falls to them.

Mirrors support library change Ie6a72c1c82c2784774373670007b6f5948fe16da

Change-Id: I1bc6f74e26660ef4a3c20419c077e37992412e94
2012-04-23 22:02:32 -07:00
Dianne Hackborn
847d677f34 am 3c40675f: Merge "Fix potential NPE when saving fragment state."
* commit '3c40675f6f473896b93ca6416d29192d88e92622':
  Fix potential NPE when saving fragment state.
2012-04-23 21:44:43 -07:00
Jake Wharton
258029eeaa Fix potential NPE when saving fragment state.
If a fragment's saved view state is null and the user
visible hint is true then the `result` bundle will have
never been initialized to a value resulting in a
`NullPointerException`.

Mirrors support library change I8ba585bc6b9298841490d64bc22a8219cd261adb.

Change-Id: Iabd5ac293d2ece3771da9ef257479eca0dcd523c
2012-04-23 18:54:27 -07:00
Quddus Chong
3fa98cb02c docs: Added missing comma in code snippet.
Bug: 6322757

Change-Id: I32cbd89493287cbb5d76b59647a8ddbd59209132
2012-04-13 11:17:24 -07:00
Jeff Sharkey
d9818244f9 Merge "DO NOT MERGE: Make component names visible in javadoc." into ics-mr1 2012-04-11 19:18:45 -07:00
Jeff Sharkey
aa0a453a7a DO NOT MERGE: Make component names visible in javadoc.
Change-Id: I3770ea6616b8425c387bcd27d668e3114b14335d
2012-04-11 19:15:42 -07:00
Quddus Chong
3790001c20 SDK doc change: Fixed typo and added method parentheses in line 206.
Bug: 6318971

Change-Id: I57f3c7aff6209269ca0d95d616e551e2100eeb54
2012-04-11 15:47:57 -07:00
Dirk Dougherty
4d7bc65538 Doc change: String changes for Android Market
Change-Id: I823812a4fd24021bec906ad856479c92a8d2a759
2012-03-05 22:02:35 -08:00
felipeal
e4ef9b1ac2 DO NOT MERGE
(from master: Fixed minor typo on Javadoc)

Change-Id: I7d62e37011a7fd4d792fdfe5bd62022a850303a6
2012-02-28 13:47:15 -08:00
Masanori Ogino
f535cb04f0 Wipe the user data out in any case.
When the external storage is not mounted, the android system won't
wipe out the user data (i.e. "/data") if wipeData() is called with
the flag WIPE_EXTERNAL_STORAGE.

We think that the user data should be wiped out in any options and
also wipeData(int) method currently supports also for a external
storage. So we will also change the API reference comment.

If we should care about backward compatibility of this method behavior
with the option WIPE_EXTERNAL_STORAGE, then we would add an another
bitmask something like a ALWAYS_RESET.

Change-Id: Id7bf673c722bacc0480d32e46553b9a348513879
2012-02-16 09:42:36 +09: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
Joe Fernandez
3aef8e1d1b docs: Add developer guide cross-references, Project ACRE, round 4
Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
2011-12-22 15:08:23 -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
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
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
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
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
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
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
Daniel Sandler
8de952bfc1 am d2cd1f72: Merge "Lazily fetch the status bar service." into ics-mr0
* commit 'd2cd1f722421c33e88df92d036663f30b316fa3f':
  Lazily fetch the status bar service.
2011-10-20 13:11:15 -07:00
Daniel Sandler
9cbd360a67 Lazily fetch the status bar service.
Works around a timing issue in the lockscreen's connection
to the status bar.

Bug: 5479833
Change-Id: I043441b94db74df3e4319dd7bfb7635446cdc5d6
2011-10-19 01:41:29 -04:00
Jim Miller
138f6fa439 am 9a7e4ce7: Merge "Fix 5466678: use new setSystemUiVisibility() API to enable clock in statusbar" into ics-mr0
* commit '9a7e4ce72a1f97832e71386ad023439ed9b179bd':
  Fix 5466678: use new setSystemUiVisibility() API to enable clock in statusbar
2011-10-17 18:06:08 -07:00
Jim Miller
305c78cce6 Fix 5466678: use new setSystemUiVisibility() API to enable clock in statusbar
This fixes a bug where the clock wasn't being shown in the statusbar while
the music widget is showing.

Change-Id: Ic1c52c4ab7fa1490fe14ddafaf2c494bcf51866d
2011-10-17 11:41:44 -07:00
Joe Fernandez
5a401ddbc8 am 471fa9d1: Merge "docs: add developer guide cross-references, Project ACRE, Round 2" into ics-mr0
* commit '471fa9d10b4fa4da070c0ffb5fa5ea1354c8e6b8':
  docs: add developer guide cross-references, Project ACRE, Round 2
2011-10-14 10:54:29 -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
Mathew Inwood
772158a596 Merge "Allow setting of source bounds on global search intents." 2011-10-14 06:35:26 -07:00