3362464 API REVIEW: android.content potpourri
3362445 API REVIEW: Fragment transaction stuff
3362428 API REVIEW: Fragment stuff
3362418 API REVIEW: Loader stuff
3362414 API REVIEW: android.content.pm.ActivityInfo
Change-Id: I6475421a4735759b458acb67df4380cc6234f147
* Add code to persist per-admin setting
* Add hooks for OS-level tie-in (is supported, get / set status)
* Add 3rd API call to get OS status (irrespective of admin settings)
* Remove "REQUESTED" status, no longer relevant with 3rd API
* Fixed bug that impacted global proxy settings
* Update api/11.xml to match current.xml
Bug: 3346770
Change-Id: I56bdf9a7894f6ca4842402c7b82ddb3caf4b37b9
ContentProviders are allowed to return null and both
of our contact directories (Focus and Exchange) actually
do when they find no data to return.
The problem is that when LoaderManager receives a result
from a loader, it checks if the result is the same as
previously received. That's fine, as long as the loader
always returns a different result. Now consider a loader
that returns null when it cannot produce the result.
What we are seeing is that if the loader is rapidly restared
and returns null twice in a row, the null is never
delivered to the callbacks.
In the case of the reported bug, the scenario is this:
1. We look for "foo"
2. Data for "foo" comes from a directory and we display it
3. We hit backspace twice in rapid succession. Each time
we hit backspace, the loader is restared, but since we do
this very fast, the second restart overrides the first. So
far so good.
4. The directories are programmed to return null if the
query string is less than 3 characters long, so the loader
returns null twice.
5. Loader manager looks at the final result, compares it
to the previous result and since they are the same (both null)
concludes that it does not need to deliver either of them.
6. The UI attempts to show the stale data and blows up
Bug: 3352125
Change-Id: I3e5bc505faa03f72ebe5cb010377a740f5c7d5b6
Also hide the bitmap thumbnail stuff, we can't support it in its
current form.
And fix some bugs with propagating paths to native code. Yikes!
Change-Id: I13ab37ddbdba5c073489cba5eab035117d3c1574
You can now do android:largeHeap="true" on an application.
Doesn't yet do anything, waiting for Dalvik API.
Also tweak package parsing so that the SDK API level is set in the
configuration, allowing manifest resource value selection based on
that.
Change-Id: I6e035f9702a97b055416743b88f83a22ba4a9584
docs: Rewrite of App Fundamentals.. Part 2.
This introduces three new docs:
Services:
Provides an introduction to using services and describes the
service lifecycle (previously in the "Component Lifecycles" section
of the fundamentals.jd document)
Bound Services:
A guide for services that offer binding.
AIDL:
A doc about using AIDL (primarily for creating a service interface)
Also includes edits to IntentService javadocs to clarify
different behaviors for some callback methods
Includes a new version of the services lifecycle diagram
and an additional diagram for determining onRebind()
These files are orphaned for now---they're not linked in the sidenav,
until I get the last couple documents submitted for the app fundamentals.
Change-Id: I7fb0a8faff1f18b7d6b9a7b59f66f55a1b6168f1
* New uses-policies value
* Definitions for storage domain and encryption status
* API to get and set encryption status
* Intent to launch encryption changes
* Both new calls bottom out in the DPM service and are suitable for
a device that does not support encryption.
NOTE: Nobody should use ACTION_START_ENCRYPTION yet. It needs a receiver
to be built in Settings (different CL).
Change-Id: I2ae193bedbec59f6ba46c0ec7de12ecf321e5803
I think what was happening is that it was using a different layout but we were trying to reapply the
RemoveViews because of some bad boolean logic. This fixes that, and adds some better debugging that
might show us what else is happening.
Bug: 3298062
Change-Id: I0984f24cb2960166c79b9f2cc7c6a98bd75e17ba
This allows us to have a new dialog theme that behaves like an alert dialog
for both Dialog and Activity versions. Very useful with so many more things
being displayed as dialogs on our nice large screen.
Note I didn't change the existing dialog themes to have this behavior, since
it will probably break things. Instead there is a new variation. And the
DialogWhenLarge variations now use this for their dialog form, to fix many
of the real new dialogs we have that need this behavior.
Removed the public definition of the one alert dialog theme. None of the
others have ever been public, this one shouldn't be.
Added new .Panel versions of the Holo themes, like we already had for the
original themes.
Changed the alert dialog layout to no longer use WeightedLinearLayout,
since the window now takes care of that. This allowed for the removal
of the xlarge version of those layouts.
Change-Id: I0c8372bde25eb9af47404a719b3f07230baf73bf
Replaces use of ro.monkey system property. This new API is controlled by
ro.test_harness.
Bug 3329873
Change-Id: Idb5bbbd9ca691976ef842eec681be34c29915976
...to throttle contentobserver-based requeries
Why yes, I guess it could.
This also reworks AsyncTaskLoader to not generate multiple
concurrent tasks if it is getting change notifications before
the last background task is complete.
And removes some of the old APIs that had been deprecated but
need to be gone for final release.
And fixes a few little problems with applying the wrong theme
in system code.
Change-Id: Ic7a665b666d0fb9d348e5f23595532191065884f
Added light/dark versions of holo dialog icons. Apps using
AlertDialogs that wish to use the system dialog icon should use
setIconAttribute(android.R.attr.alertDialogIcon) instead of
setIcon(android.R.drawable.ic_alert_dialog).
Change-Id: I40793a3164478be5ffa045ededfcab8210753a4b
Enables Activities and Dialogs to implement key shortcut behavior.
Useful for global key shortcuts that are not bound to the focused
view or to a menu.
Change-Id: If377d20b227ee1c5cac84c47c9630b2d77f67e2c
Fix several bugs where ActionBar was ignoring LayoutParams in action
views.
Add convenience methods for toggling display options flags.
Add layout resource version of ActionBar#setCustomView
Fix a bug preventing actionViewClasses from being loaded properly in
menu xml.
Change-Id: I0d9a0b635fd9cfc020bac69369c0c7749c226349
- Tweak Fragment docs to match new sample code.
- Make some new attributes public.
- Hide all of the XmlAdapter stuff, since it is not actually being used.
Change-Id: Iae2062f91d1ca0c6b1d656ae948417d3d048482f
Deal with fragments being restored when their containing view is
gone.
Try to put in a black background during rotation. Currently commented
out because it appears to cause surface flinger to hang.
Change-Id: I150d061e64488356d17513f4e2d124d7c3d04f6b
...com.google.android.youtube: java.lang.NullPointerException at
com.google.android.youtube.async.UserAuthorizer$3.onCancel(UserAuthorizer.java:324)
Only perform one cancel callback for a particular start of the dialog.
Change-Id: Ib448fcae2489a63c9b63affdc518658447e90920
The previous change only hid the fragment when the transition animation
ended. But if there is no animation, the fragment would never be hidden.
This change adds an else clause that handles the non-animating case.
Change-Id: Ie35b2ae98cb5c21193dadefbef71b8542fcf5f7d
...android.app.Fragment.startActivityForResult(Fragment.java)
Make sure to remove all pending messages when AbsListView is detached
from its window.
But... that's not enough.
It turns out that when a fragment's views are animating away, they of
course don't get detached until after the animation is done. However
the fragment itself is immediately destroyed, leaving its live views
still going after that.
Here's a possible solution: when fragment manager initiates an animation
on a fragment whose views are being removed, it makes note of that so
it can hold off on destroying the fragment until the animation is over.
There are a lot of interesting race conditions here, if further operations
happen on the fragment while it is being animated. I think the code here
does something sensible, and it does seem to work for the situations I
have tested, but it is hard to know all of the edge cases that may happen.
Change-Id: I4490ce8862a9bb714c7ea54baca3072c62126388