4414 Commits

Author SHA1 Message Date
Satoshi Kataoka
0d727c714b Merge "Add subtypeId for keeping enabled "InputMethodSubtype"s even if subtype parameters are changed" into jb-mr1-dev 2012-09-04 20:27:50 -07:00
Jim Miller
175ae55c0d Merge "Update DevicePolicyManager with ability to disable keyguard widgets" into jb-mr1-dev 2012-09-04 15:20:42 -07:00
Fabrice Di Meglio
035ce2ca92 Merge "Add support for "-rtl" in resources" into jb-mr1-dev 2012-09-04 15:01:03 -07:00
Jim Miller
b8ec470617 Update DevicePolicyManager with ability to disable keyguard widgets
Change-Id: I5876e9e180b2a995aaa355fbbb2b67cebb86104d
2012-09-04 13:52:36 -07:00
Satoshi Kataoka
e62e6d8731 Add subtypeId for keeping enabled "InputMethodSubtype"s even if subtype parameters are changed
Bug: 6752230
Change-Id: I3a2d512e395fe8645edf6ab82108948b927c629a
2012-09-04 15:29:03 +09:00
Jeff Brown
f83ec83891 Merge "More improvements to the display manager." into jb-mr1-dev 2012-08-31 15:49:17 -07:00
Jeff Brown
3b9a4160c9 Merge "Initial draft of high-level multi-display APIs." into jb-mr1-dev 2012-08-31 15:48:26 -07:00
Jeff Brown
4ed8fe75e1 More improvements to the display manager.
Added more complete support for logical displays with
support for mirroring, rotation and scaling.

Improved the overlay display adapter's touch interactions.

A big change here is that the display manager no longer relies
on a single-threaded model to maintain its synchronization
invariants.  Unfortunately we had to change this so as to play
nice with the fact that the window manager wants to own
the surface flinger transaction around display and surface
manipulations.  As a result, the display manager has to be able
to update displays from the context of any thread.

It would be nice to make this process more cooperative.
There are already several components competing to perform
surface flinger transactions including the window manager,
display manager, electron beam, overlay display window,
and mouse pointer.  They are not manipulating the same surfaces
but they can collide with one another when they make global
changes to the displays.

Change-Id: I04f448594241f2004f6f3d1a81ccd12c566bf296
2012-08-31 15:42:46 -07:00
Jeff Brown
a492c3a7b2 Initial draft of high-level multi-display APIs.
This patch introduces the ability to create a Context that
is bound to a Display.  The context gets its configuration and
metrics from that display and is able to provide a WindowManager
that is bound to the display.

To make it easier to use, we also add a new kind of Dialog
called a Presentation.  Presentation takes care of setting
up the context as needed and watches for significant changes
in the display configuration.  If the display is removed,
then the presentation simply dismisses itself.

Change-Id: Idc54b4ec84b1ff91505cfb78910cf8cd09696d7d
2012-08-31 15:42:45 -07:00
Adam Powell
89bc8636c5 Merge "Add an OnDismissListener to AutoCompleteTextView" into jb-mr1-dev 2012-08-31 11:26:54 -07:00
Adam Powell
780c491fb9 Add an OnDismissListener to AutoCompleteTextView
Bug 4551310

Change-Id: I702301ad3360828ec6637b6c09789e00d9661271
2012-08-30 17:46:11 -07:00
rich cannings
d1b5cfc94a Notify verifiers that verification is complete
Send the Intent.ACTION_PACKAGE_VERIFIED to all verifiers when
verification is complete (either one verifier verified the package or a
timeout occurred). Details of what occurred is in a new extra,
PackageManager.EXTRA_VERIFICATION_RESULT.

Bug: 7048930
Change-Id: I4f9855a29b0eb6d77f469891402c69e2e8922945
2012-08-30 16:00:59 -07:00
Dianne Hackborn
5ac72a2959 Improve multi-user broadcasts.
You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
2012-08-30 14:33:22 -07:00
Chet Haase
451da77972 Merge "Add getter for animateFirstView property of ViewAnimator" into jb-mr1-dev 2012-08-30 10:30:28 -07:00
Chet Haase
201501f11e Add getter for animateFirstView property of ViewAnimator
Tooling for xml properties is easier/better if we can properly reflect the
xml properties at the Java language API level as well. We had setters/getters
for the other properties of ViewAnimator, but only a setter for the
animateFirstView property.

Issue #6104327 Inconsistency between XML API and Java API for widgets - ViewAnimator

Change-Id: Iede7231fa433ce14f7a8299da4cedd4720370bc8
2012-08-30 09:51:08 -07:00
Jeff Brown
bd6e1500ae Add initial multi-display support.
Split the DisplayManager into two parts.  One part is bound
to a Context and takes care of Display compatibility and
caching Display objects on behalf of the Context.  The other
part is global and takes care of communicating with the
DisplayManagerService, handling callbacks, and caching
DisplayInfo objects on behalf of the process.

Implemented support for enumerating Displays and getting
callbacks when displays are added, removed or changed.

Elaborated the roles of DisplayManagerService, DisplayAdapter,
and DisplayDevice.  We now support having multiple display
adapters registered, each of which can register multiple display
devices and configure them dynamically.

Added an OverlayDisplayAdapter which is used to simulate
secondary displays by means of overlay windows.  Different
configurations of overlays can be selected using a new
setting in the Developer Settings panel.  The overlays can
be repositioned and resized by the user for convenience.

At the moment, all displays are mirrors of display 0 and
no display transformations are applied.  This will be improved
in future patches.

Refactored the way that the window manager creates its threads.
The OverlayDisplayAdapter needs to be able to use hardware
acceleration so it must share the same UI thread as the Keyguard
and window manager policy.  We now handle this explicitly as
part of starting up the system server.  This puts us in a
better position to consider how we might want to share (or not
share) Loopers among components.

Overlay displays are disabled when in safe mode or in only-core
mode to reduce the number of dependencies started in these modes.

Change-Id: Ic2a661d5448dde01b095ab150697cb6791d69bb5
2012-08-29 15:34:17 -07:00
rich cannings
2deaa3698d Merge "Add permission checks for Verification API calls" into jb-mr1-dev 2012-08-28 15:14:26 -07:00
rich cannings
7e67151b91 Add permission checks for Verification API calls
Ensure that only applications with
android.Manifest.permission.PACKAGE_VERIFICATION_AGENT can call application
verification APIs, like PackageManager.verifyPendingInstall and
PackageManager.extendVerificationTimeout

Bug: 7049083
Change-Id: I5fc28b37e864d67cd319a1ed9d03a90dd15ad052
2012-08-28 14:00:46 -07:00
Wink Saville
97d28d92c9 Merge "Unhide some CellSignalStrength methods." into jb-mr1-dev 2012-08-28 12:34:22 -07:00
Wink Saville
82e6ee62b2 Unhide some CellSignalStrength methods.
When submitting originally I'd missed unhiding these methods.

Change-Id: I627a5ea0c8c29b6ddfe5b1c49f9c0789d5e86456
2012-08-28 12:05:16 -07:00
Irfan Sheriff
da6da0907b Captive portal handling
We now notify the user of a captive portal before switching to the network as default.
This allows background applications to continue to work until the user confirms he
wants to sign in to the captive portal.

Also, moved out captive portal handling out of wifi as a seperate component.

Change-Id: I7c7507481967e33a1afad0b4961688bd192f0d31
2012-08-27 22:27:06 -07:00
Jeff Brown
dc7d8008ec Merge "Add plumbing for new surface flinger display API." into jb-mr1-dev 2012-08-27 17:16:53 -07:00
Jeff Brown
64a55af0ac Add plumbing for new surface flinger display API.
Cleaned up the implementation of Surface and SurfaceSession
to use more consistent naming and structure.

Added JNI for all of the new surface flinger display API calls.

Enforced the requirement that all Surfaces created by
the window manager be named.

Updated the display manager service to use the new methods.

Change-Id: I2a658f1bfd0437e1c6f9d22df8d4ffcce7284ca2
2012-08-27 14:34:54 -07:00
Adam Powell
7f02dc5c9c Add setOnDismissListener to AlertDialog.Builder
Add documentation to setOnCancelListener to clarify that the cancel
event plus the events for the various choice buttons are not the
exhaustive set of ways the dialog can be dismissed, and that a dismiss
listener should be used if the app needs to cover all cases of
dismissal.

Change-Id: I9e9d6f90f6f9ccaeb2c697474ab353e2d78f37b9
2012-08-27 13:53:29 -07:00
James Dong
2adac496a8 Added some common error codes in MediaPlayer.java
o related-to-bug: 6770717

Change-Id: Iea8ba6943755a9af8df5b6e91284c7c1b32c3c6c
2012-08-26 14:15:57 -07:00
Dianne Hackborn
7767eac323 Keep track of whether an app is installed for each user.
This add a new per-user state for an app, indicating whether
it is installed for that user.

All system apps are always installed for all users (we still
use disable to "uninstall" them).

Now when you call into the package manager to install an app,
it will only install the app for that user unless you supply
a flag saying to install for all users.  Only being installed
for the user is just the normal install state, but all other
users have marked in their state for that app that it is not
installed.

When you call the package manager APIs for information about
apps, uninstalled apps are treated as really being not visible
(somewhat more-so than disabled apps), unless you use the
GET_UNINSTALLED_PACKAGES flag.

If another user calls to install an app that is already installed,
just not for them, then the normal install process takes place
but in addition that user's installed state is toggled on.

The package manager will not send PACKAGE_ADDED, PACKAGE_REMOVED,
PACKAGE_REPLACED etc broadcasts to users who don't have a package
installed or not being involved in a change in the install state.
There are a few things that are not quite right with this -- for
example if you go through a full install (with a new apk) of an
app for one user who doesn't have it already installed, you will
still get the PACKAGED_REPLACED messages even though this is
technically the first install for your user.  I'm not sure how
much of an issue this is.

When you call the existing API to uninstall an app, this toggles
the installed state of the app for that user to be off.  Only if
that is the last user user that has the app uinstalled will it
actually be removed from the device.  Again there is a new flag
you can pass in to force the app to be uninstalled for all users.

Also fixed issues with cleaning external storage of apps, which
was not dealing with multiple users.  We now keep track of cleaning
each user for each package.

Change-Id: I00e66452b149defc08c5e0183fa673f532465ed5
2012-08-24 13:53:13 -07:00
rich cannings
e7485cbc45 MAXIMUM_VERIFICATION_TIMEOUT incorrect
Missed a 0.

Change-Id: Ia27d97520ef74cde529fb57ac05e6a37122cd3c2
2012-08-23 16:39:12 -07:00
rich cannings
d9ef3e5495 Allow verifiers to extend timeout
Create a new verifier API to extend the timeout for a giving package,
including the resulting action (allow or deny) upon the timeout occuring.

Bug: 6901038
Change-Id: I351f7944327f863aff1d7dd1227be74652fa1511
2012-08-23 15:39:02 -07:00
Fabrice Di Meglio
5f79799939 Add support for "-rtl" in resources
- fix bug #7035019 Need to have "-rtl" support for Resource

Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
2012-08-23 14:55:33 -07:00
John Spurlock
21b53df7c3 Merge "Add framework support for multiple dreams." into jb-mr1-dev 2012-08-23 10:44:05 -07:00
John Spurlock
1a868b7981 Add framework support for multiple dreams.
Bug:7028665
Change-Id: I4fba6b8e39dc07af4490c621ac3bc7b3867371b2
2012-08-22 16:49:20 -04:00
Kenny Root
9b90ee2d0b Merge "Add KeyPairGenerator for Android keystore" into jb-mr1-dev 2012-08-22 08:55:26 -07:00
Kenny Root
db026710ec Add KeyPairGenerator for Android keystore
This allows end-users to generate keys in the keystore without the
private part of the key ever needing to leave the device. The generation
process also generates a self-signed certificate.

Change-Id: I114ffb8e0cbe3b1edaae7e69e8aa578cb835efc9
2012-08-22 08:52:55 -07:00
Jeff Brown
572a0859dd Merge "Add FloatMath.pow." into jb-mr1-dev 2012-08-21 23:15:56 -07:00
Jeff Brown
e2c279e8a1 Add FloatMath.pow.
Change-Id: I5c584f4894caba47fccfa22ba95f8665990d516c
2012-08-21 22:27:41 -07:00
Brian Muramatsu
a5d5d608cc Merge "add wireless charger support" into jb-mr1-dev 2012-08-20 16:57:14 -07:00
Iliyan Malchev
8756bd1d6b Merge "Revert "Revert "Add timestamp in scan results""" into jb-mr1-dev 2012-08-20 14:57:14 -07:00
rich cannings
a811e0848d Merge "Pass URLs to package verifiers" into jb-mr1-dev 2012-08-20 14:24:49 -07:00
George Mount
9af67e8f6c Merge "Add getDefaultUserAgent to WebSettings." into jb-mr1-dev 2012-08-20 13:37:55 -07:00
rich cannings
706e8ba26b Pass URLs to package verifiers
This change passes the originating URL and accompanied referrer to
package verifiers, when available.

Bug: 6544677
Change-Id: I9ebc71bc13f549bd88267e444816151a99bda000
2012-08-20 13:20:14 -07:00
Victoria Lease
df8ef4b139 DO NOT MERGE LocaleSpan makes Han disambiguation easy!
Cherry-pick of I7f1b0d49a2ece957a7b9b5d65d48385bf2c2a668 from master.

I've also provided TextView.setTextLocale() for use in single-language
TextViews.

Change-Id: I5692859bfd2aafc284172454d943afc250b22535
2012-08-20 13:17:58 -07:00
Iliyan Malchev
06c43d575c Revert "Revert "Add timestamp in scan results""
With b/6979211 fixed, we can reinstate timestamps.

This reverts commit 578531082b8e8c8aa03868e69591b7613b0e8b8e

Change-Id: I5dffc8d9701004f7c6325f21e1e33d1cdd2d05c0
2012-08-20 12:52:35 -07:00
Brian Muramatsu
37a37f445c add wireless charger support
bug: 6879638

- add new enum value BATTERY_PLUGGED_WIRELESS
- check for sys online file with contents "Wireless"

Change-Id: I22dc3c40f50573c98643e7b5cbcb237d0216530d
2012-08-20 10:04:12 -07:00
Jeff Brown
98365d7663 Refactor for multi-display support.
Split WindowManagerImpl into two parts, the WindowManager
interface implementation remains where it is but the global
communications with the window manager are now handled by
the WindowManagerGlobal class.  This change greatly simplifies
the challenge of having separate WindowManager instances
for each Context.

Removed WindowManagerImpl.getDefault().  This represents the
bulk of this change.  Most of the usages of this method were
either to perform global functions (now handled by WindowManagerGlobal)
or to obtain the default display (now handled by DisplayManager).

Explicitly associate each new window with a display and make
the Display object available to the View hierarchy.

Add stubs for some new display manager API features.

Start to split apart the concepts of display id and layer stack.
since they operate at different layers of abstraction.
While it's true that each logical display uniquely corresponds to a
surface flinger layer stack, it is not necessarily the case that
they must use the same ids.  Added Display.getLayerStack()
and started using it in places where it was relatively easy to do.

Change-Id: I29ed909114dec86807c4d3a5059c3fa0358bea61
2012-08-19 22:42:08 -07:00
Dianne Hackborn
4702a85697 More view hierarchy, fragment debugging.
Add a View.toString() method.

Rename all of the View private flags to have a PFLAG prefix to
avoid going insane trying to figure out which constant goes with
which flag.

Activity.dump() now includes a summary of the activity's view
hierarchy, using the View.toString() method.

All exceptions thrown by FragmentManager now perform a dump of
the owning activity state, where appropriate.

Change-Id: I6482e397e10cb5a0612ab02ce6ed5131823437a6
2012-08-17 17:35:00 -07:00
George Mount
9f410c540a Add getDefaultUserAgent to WebSettings.
Bug 6329117
 Add ability to get the default user-agent without creating
 a WebView. The method is implemented for WebSettingsClassic.

Change-Id: Id15fb57f65875752ccf644481a22b88644635f5d
2012-08-17 15:53:13 -07:00
Dianne Hackborn
79af1dd54c Switch public APIs to use new UserHandle class for identifying users.
Gets rid of "yet another integer" confusion.

Change-Id: Id07ea7307aea7c62f0087c6663a1f1c08e2e5dee
2012-08-17 10:36:08 -07:00
Amith Yamasani
2a00329c6d UserHandle to UserSerialNo mapping
Use AtomicFile for usermanager files.

Added a MANAGE_USERS permission that apps (signature permission) can use
to create/query/modify/remove users.

Change-Id: I5cf232232d0539e7508df8ec9b216e29c2351cd9
2012-08-17 09:06:10 -07:00
Nick Pelly
1f3f128ad1 Merge "Add javadoc for new location API's." into jb-mr1-dev 2012-08-16 18:05:32 -07:00
Nick Pelly
4e31c4fffb Add javadoc for new location API's.
Change-Id: If15024ee88421c07ba3a174747774fc451fd002e
2012-08-16 17:59:34 -07:00