Commit Graph

1421 Commits

Author SHA1 Message Date
Dianne Hackborn
3b81bc18bb Add manifest API to request a large heap.
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
2011-01-16 12:08:38 -08:00
Scott Main
2150553dc3 cherrypick Change-Id: I1365c6c45f8e1f75ee4afbc52c32778d21b97be4 from master
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
2011-01-14 14:07:29 -08:00
Kenny Root
312206b987 Merge "Add the {get,set}PackageObbPaths calls to API" into honeycomb 2011-01-14 12:42:12 -08:00
Dianne Hackborn
d922ae01ca Add Holo theme for IMEs.
Also clean up theme selection code to get rid of duplication.

Change-Id: Idf7b21db70ee83fce24756ead877169bd08b77a9
2011-01-14 12:28:23 -08:00
Kenny Root
5d40fe9c68 Add the {get,set}PackageObbPaths calls to API
Add getPackageObbPaths() and setPackageObbPaths() to the public API.

Bug: 3214719
Change-Id: I8627b5f674a795d5780eb5c08911419110670a41
2011-01-14 12:18:48 -08:00
Andy Stadler
7b0f8f08ac API changes to support encryption in DPM
* 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
2011-01-12 21:11:32 -08:00
Chet Haase
b29407faf3 Fix null crash when fragments go away during animations
Change-Id: I239cabce3ce322fcc3f1246486b4bf05f0dd322b
2011-01-12 17:53:20 -08:00
Joe Onorato
f4699efb63 Merge "Possibly fix bad notification updates." into honeycomb 2011-01-12 17:07:11 -08:00
Joe Onorato
c9596d6d8e Possibly fix bad notification updates.
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
2011-01-12 17:06:14 -08:00
Dianne Hackborn
4389434c1d Make ProgressDialog a little less lame.
Change-Id: Ic3f1dd8ba32dd02d422ee6f05fff5541e54bb8a1
2011-01-12 11:17:17 -08:00
Dianne Hackborn
6014527c35 Add "min size" facility to the Window class.
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
2011-01-12 10:33:13 -08:00
Brett Chabot
3b4fcbc9f1 Add ActivityManager#isRunningInTestHarness() public API.
Replaces use of ro.monkey system property. This new API is controlled by
ro.test_harness.

Bug 3329873

Change-Id: Idb5bbbd9ca691976ef842eec681be34c29915976
2011-01-09 16:31:11 -08:00
Dianne Hackborn
247fe74c93 Implement issue # 3255887 could CursorLoader offer...
...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
2011-01-08 18:25:30 -08:00
Adam Powell
947f782411 Fix bug 3245465 - Themed dialog icons
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
2011-01-08 13:09:51 -08:00
Jeff Brown
64da12ab1f Add dispatch key shortcut window callback.
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
2011-01-05 14:51:24 -08:00
Brad Fitzpatrick
70588bf864 resolved conflicts for merge of 3a2c6bf0 to master
Change-Id: I1963d8fc391bb84de1054f2b20ce4e082d764cbe
2011-01-05 14:04:06 -08:00
Brad Fitzpatrick
3a2c6bf0fc am 69ea4e15: Documentation fixes found over vacation hacking.
* commit '69ea4e15e52c456537575d21443ac1efdb03a902':
  Documentation fixes found over vacation hacking.
2011-01-05 13:52:53 -08:00
Brad Fitzpatrick
69ea4e15e5 Documentation fixes found over vacation hacking.
Change-Id: I28900026465d66d950cf4f05f0c202b46c3c2d43
2011-01-05 13:07:34 -08:00
Adam Powell
3f476b3404 Revisiting ActionBar API and layout.
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
2011-01-05 11:41:26 -08:00
Joe Onorato
281d83f61f Notification.Builder.setAutoCancel() was setting the wrong flag.
Bug: 3306725
Change-Id: I84908fd3ac2cf9a4ce164179620c33df907d018f
2011-01-04 18:12:32 -08:00
Joe Onorato
059a2f8664 When the number field on a notifications is >100, just say "100+" instead of listing the number.
Bug: 3271445
Change-Id: Id5704cc5cba770b918c974eeec8f9ffb3f294450
2011-01-04 18:12:32 -08:00
Dianne Hackborn
87121accdb Some new API cleanup.
- 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
2011-01-04 17:42:01 -08:00
Dianne Hackborn
6d978d6d2e Merge "Few little fragment, wm tweaks." 2011-01-04 11:40:14 -08:00
Dianne Hackborn
352cc98b46 Few little fragment, wm tweaks.
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
2011-01-04 11:34:18 -08:00
Dianne Hackborn
8b4cac1f42 Again maybe fix issue #3169193...
...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
2011-01-03 13:58:14 -08:00
Chet Haase
e646b28cb3 Minor fix to previous fragment change: non-animating case
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
2010-12-28 14:48:32 -08:00
Chet Haase
61eb40d276 Delay hiding fragments until transition finishes
Change-Id: I616de20e7e161fe1a53cd5e72912cec48f078df5
2010-12-28 14:25:56 -08:00
Dianne Hackborn
1b39e221e2 Fix NPE pointed out by Chet.
Change-Id: Id421476aa6f6ff281054b435ecd09f932966305c
2010-12-28 14:17:18 -08:00
Dianne Hackborn
d173fa3b1c Possible fix to issue #3213749: NPE at...
...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
2010-12-28 14:01:20 -08:00
Svetoslav Ganov
e9730bf3d2 Adding APIs for setting whether to show week number and setting the start day of week. Cleaned up the code a bit.
Change-Id: Iaa7154c6912a68cd91df3ac881c324096394ea24
2010-12-28 02:40:23 -08:00
Dianne Hackborn
4e24aac6ae Add some standard definitions for device heaps.
These can be included as desired by particular devices to configure
their Dalvik heap in a standard way.

Change-Id: I487c751d7c583b0e93552f16ab43a93314219778
2010-12-23 15:41:16 -08:00
Martin Hibdon
6bcda6387f Correctly save Activity's state in saveInstanceState
Prior to this change, saveInstanceState would
call directly to Activity.onSaveInstanceState(),
rather than performSaveInstanceState().
This meant that saveManagdDialogs() was not called,
so Activities running under a LocalActivityManager
do not get their dialogs restored on configuration changes.

Change-Id: Id45110a8716a86958c14f4b1ea5a84c9cdf107f1
2010-12-22 13:05:52 -08:00
Svetoslav Ganov
28104e1de5 3298147 DatePicker dialog does not provide mechanism for specifying range from which to select
Change-Id: Ib5dd7db90ccc5b4d984914c481118049ac3648fe
2010-12-22 03:29:29 -08:00
Dianne Hackborn
0e3b8f421d Fix issue #3301572: onCreateLoader must not be a member class: VolumeMetadataLoader
Also some various cleanup.

Change-Id: I8e8616a86c50c86817f7ec9bb02a5954c1ccd84f
2010-12-21 11:12:09 -08:00
Dianne Hackborn
a2ea747faa More cleanup of Loader APIs.
- Remove old method names.
- Introduce onXxx() hooks to Loader.
- Improve debugging.

Change-Id: I3fba072a05c7023aa7d2c3eb4e126feb514ab6d8
2010-12-20 14:10:31 -08:00
Vasu Nori
6916b03e02 if a download dir doesn't exist, create it or fail fast
in HC, using DownloadManager public API, download directories
named by the constants Environment.DOWNLOAD_*
may ot exist. theyneed to be created or
the download request should fail ASAP.
bug:3297328

Change-Id: Ic87023d8fe98bd240744f66607a5400b7825e17e
2010-12-19 20:33:54 -08:00
Dianne Hackborn
8c972f2ce2 Merge "Some fixes to the new loader management." 2010-12-17 17:11:54 -08:00
Dianne Hackborn
f73c75ca20 Some fixes to the new loader management.
Change-Id: Ib882be5762b0ebeed9b027754159f401232718e9
2010-12-17 16:54:05 -08:00
Svetoslav Ganov
bf80562d22 Bug 3191746. atePicker TimePicker: Dark theme is used in a Light theme app
Change-Id: I20d0cca3b78af9db80854a57c88d6cab3b00f555
2010-12-17 16:00:18 -08:00
Dianne Hackborn
540d3d2662 Fixes for when onLoaderReset() is called.
Change-Id: Iab479926f11fa579757904032ada46c41686d560
2010-12-16 22:41:30 -08:00
Dianne Hackborn
c91893511d Fix issue #3272082: Contacts: when going back from edit view,
list UI is not ready yet

This involves some reworking of Loaders.

Loaders, in particular CursorLoader, are now expected to retain
their current data after being stopped.  This allows applications
to keep that data across onStop() -> onStart(), so when the user
returns to the app it doesn't have to wait for the data to reload
and thus cause flicker.

This includes various API changes to better reflect the new
semantics, plus a new LoaderCallbacks method to tell the application
when it is actually time to stop their use of a loader's data.

Note this is somewhat half-done, to help checking in the extensive
application changes that are required without causing build breakage.

Change-Id: Ib4b3bf8185a6da46e7f06ca125521d65e2e380a1
2010-12-16 20:09:13 -08:00
Dianne Hackborn
194157638a Fix launching of activities that I broke.
Change-Id: I39f4189bad6bdecdc7f9362410f36453fd816121
2010-12-15 00:20:27 -08:00
Dianne Hackborn
4f3867e3ce Time to remove some old APIs!
Change-Id: I73ca23b0d5c7971a00dfa05357f9b630d9b6ebc8
2010-12-14 22:19:03 -08:00
Vasu Nori
a738671790 Merge "bug:3264401 changes to support usage of new downloads dir in /data" 2010-12-14 17:57:41 -08:00
Dianne Hackborn
ad0b61ca67 Merge "Fix Dialog generating multiple onCancel()." 2010-12-14 17:51:44 -08:00
Dianne Hackborn
114405e0ea Fix Dialog generating multiple onCancel().
Issue #3169193: com.google.android.youtube: java.lang.NullPointerException
at com.google.android.youtube.async.UserAuthorizer$3.onCancel(UserAuthorizer.java:324)

A little protection against calling onCancel() after a dialog has been
dismissed.

Change-Id: I7a64c94703da012ce303308563e4a8ed3cb125d3
2010-12-14 17:49:14 -08:00
Dianne Hackborn
7ab7d83254 Merge "Work around issue #3241701: crash in ActivityThread.handleWindowVisibility" 2010-12-14 17:47:39 -08:00
Brad Fitzpatrick
4e920f70f3 Add MODE_MULTI_PROCESS flag to Context.getSharedPreferences()
Also, changes to make this testable with CTS:

-- special PENALTY_DEATH StrictMode fast path that doesn't use
   the Looper idling to "time" the violation.  Only used when
   death is the only violation,

-- make PENALTY_DEATH throw a RuntimeException instead of
   killing its process with a signal.  this means we can catch
   it in CTS tests, but it's also more consistent with
   PENALTY_NETWORK_DEATH in Honeycomb.

-- make FileUtils.getFileStatus() invoke StrictMode, which isn't
   (yet?) aware of I/O in native code.  so help it out.

CTS test for MODE_MULTI_PROCESS is in I6154edab

Change-Id: Icf93f9dfb0ece06b16781e4803dd2c17df3cf1b3
2010-12-14 16:27:21 -08:00
Amith Yamasani
c9ecb73ccd Add a way to insert a parent bread crumb so that deep linked settings can navigate up.
Bug: 3236568

This adds a way to insert a title as well as get a callback when that title is clicked.
It is not really on the backstack and clicks must be handled via the listener interface.
2010-12-14 15:17:32 -08:00
Vasu Nori
f83e6e4b7a bug:3264401 changes to support usage of new downloads dir in /data
Change-Id: I209a624523f727d47a4a8f758c13df5d4eac614f
2010-12-14 15:10:32 -08:00