3570 Commits

Author SHA1 Message Date
Alon Albert
5312d0805c Merge "Add new Reminder Method: Alarm" 2012-02-27 16:29:55 -08:00
Dianne Hackborn
5265466e8a Merge "New development permissions." 2012-02-24 18:40:37 -08:00
Adam Powell
b98a81f86a Add support for optional titles in action modes
Optional titles will only be displayed in the CAB if they entirely fit
instead of ellipsizing.

Fixes bug 5821883

Change-Id: I0cfd6d4fd34a4fa9f520499d577706da30606811
2012-02-24 16:59:03 -08:00
Mathias Agopian
7b49b4bea8 Merge "deprecate L_8, LA_88 and RGB_332 in sdk" 2012-02-24 15:09:54 -08:00
Mathias Agopian
e9d4c71f47 deprecate L_8, LA_88 and RGB_332 in sdk
re-add support for pixelformats L_8, LA_88 and RGB_332 in libui
for backward compatibility.

This may or may not fix 6058926

Bug: 6049685
Change-Id: Ic1b8b4cc994522f7fe664da64c0ef76b98bc6d53
2012-02-24 14:58:36 -08:00
Daniel Sandler
3f0c58eb70 Merge "New notification priority and related APIs." 2012-02-24 10:53:42 -08:00
Daniel Sandler
2561b0b10a New notification priority and related APIs.
This change introduces a few new bits of data on
Notification that will help the Notification Manager and
System UI route and display them more intelligently:

 -> priority: an integer in a predefined range that
    indicates the app's best guess as to the relative
    importance (to the user, right now) of that information

 -> kind: a tag (really, set of tags) indicating the general
    type of notification (realtime, asynchronous, etc)

 -> extras: a Bundle of additional key/value pairs
    associated with this notification (currently @hidden)

The notification manager takes these data into account when
assigning to each notification a score which is passed with
the notification on to the system UI, where it can be used to
affect presentation. For example:

  - Spammy apps (identified explicitly by the user or by
    some other means) will have their notifications scored
    very negatively by the notification manager, allowing
    the UI to suppress them
  - Notifications of higher score might be shown larger
    or in a different way
  - Very important notifications (indicated by a very high
    score) might interrupt the user during an otherwise
    important task (videochat, game, etc)

Implementation note: This replaces/extends the old internal
notion of "priority", which was mostly used to organize
ongoings and system notifications at the top of the panel.

Change-Id: Ie063dc75f198a68e2b5734a3aa0cacb5aba1ac39
2012-02-24 13:47:00 -05:00
Alon Albert
bd2516165e Add new Reminder Method: Alarm
Change-Id: I7c0bc3c7eb1cc3b76900a04760ace52a5535b617
2012-02-24 09:40:27 -08:00
Dianne Hackborn
e639da7baa New development permissions.
These are permissions that an application can request, but won't
normally be granted.  To have the permission granted, the user
must explicitly do so through a new "adb shell pm grant" command.

I put these permissions in the "development tools" permission
group.  Looking at the stuff there, I think all of the permissions
we already had in that group should be turned to development
permissions; I don't think any of them are protecting public APIs,
and they are really not things normal applications should use.

The support this, the protectionLevel of a permission has been
modified to consist of a base protection type with additional
flags.  The signatureOrSystem permission has thus been converted
to a signature base type with a new "system" flag; you can use
"system" and/or "dangerous" flags with signature permissions as
desired.

The permissions UI has been updated to understand these new types
of permissions and know when to display them.  Along with doing
that, it also now shows you which permissions are new when updating
an existing application.

This also starts laying the ground-work for "optional" permissions
(which development permissions are a certain specialized form of).
Completing that work requires some more features in the package
manager to understand generic optional permissions (having a
facility to not apply them when installing), along with the
appropriate UI for the app and user to manage those permissions.

Change-Id: I6571785c6bb5f6b291862b7a9be584885f88f3a5
2012-02-23 16:39:15 -08:00
Andreas Huber
88572f7a3e Implementation of a java media codec interface and associated tools.
Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
2012-02-22 15:06:06 -08:00
Fabrice Di Meglio
6d3d5057b4 Improve textDirection APIs
Change-Id: I8bff30f5adb0ab4077145d83ac4a716e04f289ac
2012-02-16 16:42:20 -08:00
Fabrice Di Meglio
ccb1562e90 Add View.onResolvePadding() as a public API
- following a comment from Dianne on this CL:

Change-Id: Ifa11d6ac423f205d0684297d25885eac1a89f279
https://android-git.corp.google.com/g/#/c/123009/1
2012-02-15 15:52:19 -08:00
Fabrice Di Meglio
aba0336170 Fix the build
Change-Id: I7c6a2536e894efde951e70188597f39811e2091f
2012-02-15 15:30:37 -08:00
Fabrice Di Meglio
54546f22fb Make MarginLayoutParams startMargin and endMargin API public
Change-Id: I519f8ede818b068883ee1565d28e188298af9f0e
2012-02-15 14:54:48 -08:00
Fabrice Di Meglio
2c884826b2 Make View paddingStart and paddingEnd API public
Change-Id: I39fd987c866e8bfadbaa9a29c0e38b3b7ce03f7e
2012-02-15 13:57:09 -08:00
Fabrice Di Meglio
e7beae3f4c Make textDirection API public
Change-Id: I2d5a0e3a990b9a5b78a3bbc8df7f655702743e4b
2012-02-13 17:21:05 -08:00
Fabrice Di Meglio
7a29d84f01 Merge "Fix bug #5904777 GridLayout should be RTL aware" 2012-02-13 14:01:28 -08:00
Fabrice Di Meglio
47d248eb43 Fix bug #5904777 GridLayout should be RTL aware
- update also DEBUG mode for taking care about RTL
- one minor issue remaining: left alignment is not properly honored in RTL

Change-Id: I9a4c8413cb1189a032649472016994642418637b
2012-02-13 13:52:47 -08:00
Dianne Hackborn
9c1d2980f2 Clean up and expose LongSparseArray.
Change-Id: I15ba98d65e790ba45391cc7714f60b6e7de6ebfc
2012-02-10 13:02:11 -08:00
Dianne Hackborn
d262744b7e Merge "Some cruft removal." 2012-02-10 11:14:39 -08:00
Dianne Hackborn
21fbd1f7da Some cruft removal.
Change-Id: If4a94bfd4a033748eb13e8f3ff25e24382746778
2012-02-10 10:54:15 -08:00
satok
59d46b0665 Merge "Add an api to switch to the next IME and subtype" 2012-02-10 02:22:57 -08:00
satok
688bd47fcc Add an api to switch to the next IME and subtype
Bug: 5975302

Change-Id: I48aa4220159c65f456d61a324efcdf0a1ceec91c
2012-02-10 16:44:12 +09:00
Dianne Hackborn
a0c283eac3 Add new feature for running services in "isolated" sandbox processes.
This reserves a range of uids (for each user) in which these processes
run.  These uids are not associated with an application, so they
effectively run with no permissions.  When a Service requests to
run in such a process through android:isolatedProcess="true", each
time it is brought up a new isolated process is started with its
own unique uid.

What we have so far gives us the basic infrastructure; more work
remains to further lock down what these uids have access to.

Change-Id: Ibfd27c75619cba61f528f46ede9113f98dc5f45b
2012-02-09 11:18:33 -08:00
Chet Haase
a33de55404 Make the TimeAnimator class public.
This class has existed since ICS, but was hidden. This change
just makes it public API.
Also, cleaned up some internal javadocs.

Change-Id: Id69408446ced183e01d2b065a67397eb305d9665
2012-02-03 16:28:24 -08:00
Jeff Brown
ec99f609cc Merge "Rename CancellationSignal using preferred spelling." 2012-02-02 18:50:55 -08:00
Jeff Brown
4c1241df8f Rename CancellationSignal using preferred spelling.
Bug: 5943637
Change-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265
2012-02-02 18:02:16 -08:00
James Dong
96d4f4d8d8 Merge "Unhide AAC_ADTS file format" 2012-02-02 16:15:16 -08:00
James Dong
874d1f1f65 Unhide AAC_ADTS file format
o also actually decprecated RAW_AMR file format

Change-Id: Ic8ef5b0dca6f793fddf9e79d431e79f5083f7bff
2012-02-02 15:50:24 -08:00
Dianne Hackborn
895f99e9ca New global setting for developer options.
Change-Id: I3f60538e9f858858501c5b063b0da97675d445a6
2012-02-02 14:13:08 -08:00
Chet Haase
c38fa1f636 Add Developer Option setting for Animator scaling.
This new setting allows users to set a scale factor for the
duration and startDelay of all Animator-based animations. This
setting is very similar to the Transition animation scale and
Window animation scale settings, except this one applies specifically
to Animator animations. The property is only accessible by users
through the Settings UI, not programmatically. The value applies
system-wide and is picked up per-process at the time of the first
ValueAnimator construction.

This is an update to a previous CL; this approach uses the WindowManager
to store the animator scale settings, instead of SystemProperties.

Change-Id: I8295fab060aa6d597ae507ded8f9c9d6077be966
2012-02-02 08:40:44 -08:00
Jeff Sharkey
88de70f3c5 Merge "Deprecate ACTION_BACKGROUND_DATA_SETTING_CHANGED." 2012-02-01 16:54:53 -08:00
Jeff Brown
9dbfc331b4 Merge "Support automatic cancellation of Loaders." 2012-02-01 16:31:48 -08:00
Jeff Brown
b19a71a20a Support automatic cancellation of Loaders.
Change-Id: I18d3f49e413f48fcdd519d15e99c238ad54d35b9
2012-02-01 16:30:14 -08:00
Christopher Tate
f46723b41f Implement background vs foreground broadcasts
Before now, receiving a broadcast would cause a process to be hoisted
to foreground priority / cgroup.  This is no longer the case: broadcasts
by default are handled in the background, with a suitably increased
timeout interval.  When a given broadcast needs to be dealt with in a
more timely manner, the issuer can set the new FLAG_BROADCAST_FOREGROUND
flag on the Intent, which will produce the old foreground-priority
behavior.

To avoid priority inversions, foreground broadcasts are tracked on a
separate outgoing queue and can be in flight simultaneously with a
background-priority broadcast.  If there is already a background-level
broadcast in flight to a given app and then a foreground-level one is
dispatched to that app, the app [and its handling of both broadcasts]
will be properly hoisted to foreground priority.

This change is also essentially the first step towards refactoring the
broadcast-handling portions of the Activity Manager into a more
independent existence.  Making BroadcastQueue a top-level class and
regularizing its operation viz the primary Activity Manager operation
is the next step.

Change-Id: If1be33156dc22dcce318edbb5846b08df8e7bed5
2012-02-01 14:36:34 -08:00
Xavier Ducrohet
d2726ba47e Add tools specific annotations to the API.
Those annotations are not runtime retention and have zero impact
on the device builds.

Change-Id: I18d905fccfe18eb621e1411d7ae7ba97910cc727
2012-01-31 15:56:40 -08:00
Romain Guy
a403a2e0f0 Merge "Add GradientDrawable.setColors(int[])" 2012-01-31 12:12:38 -08:00
Romain Guy
8bd9698b66 Add GradientDrawable.setColors(int[])
This change also updates the documentation to warn the user about which properties
require a call to mutate().

Change-Id: I84717068bf026669e3eef1ae92db665a964fe08a
2012-01-31 12:11:02 -08:00
Chet Haase
c1ca665827 Add new ViewPropertyAnimator utility methods
Users have requested the ability to sequence ViewPropertyAnimator
animations. it is not possible with AnimatorSet, which only takes objects
of type Animator (which VPA does not extend). But the AnimatorSet model
is not appropriate for VPA anyway, since it is not possible to set up
a VPA ahead of time to start later; it's just not the way that VPA is
intended to work.

Instead, there are now two new methods on VPA, onStart() and onEnd(). These
methods take a Runnable which is executed when the animation starts or ends.
These methods should allow other VPAs or other arbitrary code to execute at the
start or finish of any particular VPA animation, allowing simple sequencing
without the overhead of creating listeners and monitoring the cancelation status
of the VPA.

Additionally, this change adds a new method withLayer() which sets a hardware
layer on the VPA's target view for the duration of the animation. This
was already possible, but required writing boilerplate code to create a listener
and override the start/end methods to add and remove the layer. This utility method
makes this common use case much simpler and less error-prone.

Change-Id: I819978517e17c647ffb7028063cd0adde68ff691
2012-01-31 10:50:14 -08:00
Jeff Sharkey
54ee2adf17 Deprecate ACTION_BACKGROUND_DATA_SETTING_CHANGED.
Broadcast is no longer sent, except during first boot after platform
upgrade.

Change-Id: I7a9c105b5783ca9f9c3aca2efff6fe5c13a4c1fd
2012-01-30 16:32:54 -08:00
Chet Haase
0d29936ec3 Fix bug in LayoutTransition for INVISIBLE views
When a view is becoming VISIBLE or INVISIBLE in a container with a
LayoutTransition, animations run to fade the view in and out and also
to run 'changing' animations on the view's other siblings. This logic
also cancels any running 'changin' animations to account for new ones
running.

However, in the specific case of INVISIBLE changes, there will be no
layout changes in the container - layout has already accounted for that
view (unlike in the case of GONE views); the visibility is just a matter of
drawing the view (or not). Therefore, we're canceling 'changing' animations
that should continue running and not replacing them with any other animations,
since new animations would only be started on layout chnages which are not
forthcoming.

One artifact seen from this bug is that the navigation bar buttons sometimes
disappear when changing orientation. This is because the menu button may
toggle between VISIBLE and INVISIBLE, causing animations on the other
buttons to get canceled, which leaves those views in a completely wrong
state.

The right thing to do is to avoid canceling in-process 'changing' animations
and to skip the logic of setting up new 'changing' animations which won't fire
anyway.

There is some minor API work in here because we did not previously have the
necessary information in LayoutTransition to know whether a view was being
hidden or shown to/from the INVISIBLE state.

Issue #5911213: LayoutTransitions ending in an odd state

Change-Id: I5c60c8583c8ea08965727b4ef17b550c40a3882c
2012-01-30 07:53:59 -08:00
Jeff Brown
2d2d7d6f42 Merge "Implement a cancelation mechanism for queries." 2012-01-27 17:37:24 -08:00
Jeff Brown
75ea64fc54 Implement a cancelation mechanism for queries.
Added new API to enable cancelation of SQLite and content provider
queries by means of a CancelationSignal object.  The application
creates a CancelationSignal object and passes it as an argument
to the query.  The cancelation signal can then be used to cancel
the query while it is executing.

If the cancelation signal is raised before the query is executed,
then it is immediately terminated.

Change-Id: If2c76e9a7e56ea5e98768b6d4f225f0a1ca61c61
2012-01-27 17:33:21 -08:00
Nick Pelly
fbc659e259 Merge "Fix build: update current.txt" 2012-01-27 10:35:12 -08:00
Nick Pelly
21c136a4ec Fix build: update current.txt
Change-Id: Ic28314e98784ebe513bd2191d3fa6c9bd5674422
2012-01-27 10:34:18 -08:00
Nick Pelly
ef78d96b90 Merge "Add NdefMessage.getByteLength(), and more minor fixes:" 2012-01-27 09:59:10 -08:00
Nick Pelly
1f5badc1cb Add NdefMessage.getByteLength(), and more minor fixes:
Remove NdefMessage from dispatch(). It's already in the Tag.
/*package*/ cleanup
Fix sitemap after removal of NFCDemo

Change-Id: Ie1f6d9ea98144aa97f56bb709a33f5d0ef916e8b
2012-01-26 14:21:19 -08:00
Gilles Debunne
259c109046 Remove @deprecate in View's fadingEdge
The comment of this field is also aggregated in the android.R.styleable#View
description. As a result, the @deprecated in the comment of this field also
applies to android.R.styleable#View which incorrectly appears deprecated.

This fixes the problem, although fadingEdge will no longer be marked as
deprecated in IDEs. I believe it is less important that to make View
deprecated.

Change-Id: I96d8e868001c4c853eb1536f8401275b9b1e689b
2012-01-26 13:46:25 -08:00
Dianne Hackborn
52da22f273 Merge "Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc." 2012-01-25 16:15:43 -08:00
Dianne Hackborn
d96e3dfa02 Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.
Change-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598
2012-01-25 15:14:50 -08:00