5571 Commits

Author SHA1 Message Date
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
Jim Miller
58a2950b66 Merge "Lots of keyguard improvements - Fix "too many attempts" dialogs - Fix account unlock mechanism so the user can use email account as backup for pattern unlock - Add mechanism to support future account recovery from non-pattern screen - Tune animation timing for flipping security view. - Move password field to the top of the security view - Add padding and visual feedback to navigation area button" into jb-mr1-dev 2012-08-31 13:57:27 -07:00
Baligh Uddin
0cc2e9b2e9 Merge "Import translations. DO NOT MERGE" into jb-mr1-dev 2012-08-30 22:16:42 -07:00
Jim Miller
258341c377 Lots of keyguard improvements
- Fix "too many attempts" dialogs
- Fix account unlock mechanism so the user can use email account as backup for pattern unlock
- Add mechanism to support future account recovery from non-pattern screen
- Tune animation timing for flipping security view.
- Move password field to the top of the security view
- Add padding and visual feedback to navigation area button

Fixes bugs 7088482, 7088631

Change-Id: I23099feae3b7446ec291d8f860601bfc12f9edd8
2012-08-30 21:40:44 -07:00
rich cannings
a2875f481b Merge "Notify verifiers that verification is complete" into jb-mr1-dev 2012-08-30 20:35:08 -07:00
Adam Powell
dc2cf24ecf Integrate new assets from UX that include layout bounds.
Change-Id: I682b3f693d8eedb741ea689f56363532cde32132
2012-08-30 18:06:38 -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
Jeff Sharkey
e217ee4d7a Access to all users' external storage.
System services holding this permission have external storage bound
one level higher, giving them access to all users' files.

Bug: 7003520
Change-Id: Ib2bcb8455740c713ebd01f71c9a2b89b4e642832
2012-08-30 10:37:51 -07:00
Jim Miller
07cb030c4e Fix keyguard layout on tablet
Bug:7084961
Change-Id: I6415aa736bf9e2b71a288716e3125429be2b663c
2012-08-30 10:24:40 -07:00
Adam Cohen
b07e89f6fd Merge "Integrate overscroll into KeyguardWidgetView." into jb-mr1-dev 2012-08-29 19:49:02 -07:00
Baligh Uddin
8b9df6cccd Import translations. DO NOT MERGE
Change-Id: Id3259e8368d2ab53d1f8b16d756806b4ca520c39
Auto-generated-cl: translation import
2012-08-29 19:04:43 -07:00
Jim Miller
f2dfc351de Integrate overscroll into KeyguardWidgetView.
This integrates overscroll behavior into keyguard.

Change-Id: I19c0f70c85a4ebb0ddd3f433b6f88a992f40919b
2012-08-29 18:42:21 -07:00
Dianne Hackborn
12631ec35e Merge "Start implementing concept of "running" users." into jb-mr1-dev 2012-08-29 18:15:07 -07:00
Jeff Brown
d5ea3b4647 Merge "Add initial multi-display support." into jb-mr1-dev 2012-08-29 15:43:55 -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
Jim Miller
c134885e6f Merge "Replace keyguard with new implementation" into jb-mr1-dev 2012-08-29 12:52:09 -07:00
Jim Miller
dcb3d84b82 Replace keyguard with new implementation
This change refactors keyguard to be more modular and maintainable.  More
specifically, it replaces the top-level view with just one device-dependent
view that contains two views: a widget area and a security area.

The widget area can be populated with custom widgets.

The security area contains the current security method as dictated by
the stored password quality.

This change contains both the old and the new keyguard with the old keyguard
still enabled.  The new keyguard will be enabled in a subsequent change.

Change-Id: Id75286113771ca1407e9db182172b580f870b612
2012-08-29 12:36:26 -07:00
Dianne Hackborn
80a4af2bbc Start implementing concept of "running" users.
The activity manager now keeps track of which users are running.

Initially, only user 0 is running.

When you switch to another user, that user is started so it is
running.  It is only at this point that BOOT_COMPLETED is sent
for that user and it is allowed to execute anything.

You can stop any user except user 0, which brings it back to the
same state as when you first boot the device.  This is also used
to be able to more cleaning delete a user, by first stopping it
before removing its data.

There is a new broadcast ACTION_USER_STOPPED sent when a user is
stopped; system services need to handle this like they currently
handle ACTION_PACKAGE_RESTARTED when individual packages are
restarted.

Change-Id: I89adbd7cbaf4a0bb72ea201385f93477f40a4119
2012-08-28 16:30:55 -07:00
Baligh Uddin
b210018760 Merge "Import translations. DO NOT MERGE" into jb-mr1-dev 2012-08-28 15:51:02 -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
Baligh Uddin
3b87a57aca Import translations. DO NOT MERGE
Change-Id: Ia11f923dfd05112764cd795034e5a8b33b2d67fe
Auto-generated-cl: translation import
2012-08-28 13:10:55 -07:00
Baligh Uddin
81efbb30f0 Merge "Import translations. DO NOT MERGE" into jb-mr1-dev 2012-08-27 16:17:57 -07:00
Jeff Sharkey
116ee10b95 Merge "Always-on VPN." into jb-mr1-dev 2012-08-27 13:57:58 -07:00
Baligh Uddin
cbe5266a27 Import translations. DO NOT MERGE
Change-Id: I07901e5eab6cc8aa560d713bf84efb1774456e48
Auto-generated-cl: translation import
2012-08-27 13:23:32 -07:00
Jeff Sharkey
69ddab4575 Always-on VPN.
Adds support for always-on VPN profiles, also called "lockdown." When
enabled, LockdownVpnTracker manages the netd firewall to prevent
unencrypted traffic from leaving the device. It creates narrow rules
to only allow traffic to the selected VPN server. When an egress
network becomes available, LockdownVpnTracker will try bringing up
the VPN connection, and will reconnect if disconnected.

ConnectivityService augments any NetworkInfo based on the lockdown
VPN status to help apps wait until the VPN is connected.

This feature requires that VPN profiles use an IP address for both
VPN server and DNS. It also blocks non-default APN access when
enabled. Waits for USER_PRESENT after boot to check KeyStore status.

Bug: 5756357
Change-Id: If615f206b1634000d78a8350a17e88bfcac8e0d0
2012-08-27 12:35:05 -07:00
Baligh Uddin
6118fcf692 Import translations. DO NOT MERGE
Change-Id: Id5f6d9c5a296f7778ebdbb57073f5ef0377ee211
Auto-generated-cl: translation import
2012-08-24 12:21:52 -07:00
Baligh Uddin
4e2055b75b Import translations. DO NOT MERGE
Change-Id: I08748f05d8e19beabd73ff7d895e8a15e2952aed
Auto-generated-cl: translation import
2012-08-23 17:09:40 -07:00
Baligh Uddin
12850a93ca Merge "Import translations. DO NOT MERGE" into jb-mr1-dev 2012-08-22 20:23:55 -07:00
Baligh Uddin
5e213c1a5d Import translations. DO NOT MERGE
Change-Id: I28a8d2d4e4dbb22a12e296bb139d7b28399f7f81
Auto-generated-cl: translation import
2012-08-22 11:14:28 -07:00
Amith Yamasani
98dddda791 Merge "Remove permission requirement for some UserManager calls" into jb-mr1-dev 2012-08-22 10:31:30 -07:00
Amith Yamasani
1952637425 Remove permission requirement for some UserManager calls
Update javadocs to be explicit about permissions.
Minor fixes in UserManagerService

Change-Id: I0d355e0a60e5dbdb49ed06091111d480ff249f3d
2012-08-22 10:28:56 -07:00
Jeff Brown
11167b887a Merge "Make the screen brightness setting limits configurable." into jb-mr1-dev 2012-08-21 23:19:08 -07:00
Jeff Brown
f9bba13692 Make the screen brightness setting limits configurable.
Change-Id: Ica84951c482edef6b7faebe1af22c609a1b9e8be
2012-08-21 22:27:42 -07:00
Baligh Uddin
11cc42e968 Import translations. DO NOT MERGE
Change-Id: I3b4b81ee8d14c074583f9ca030da42a28bba25c4
Auto-generated-cl: translation import
2012-08-21 10:22:53 -07:00
Baligh Uddin
69bcb056d3 Import translations. DO NOT MERGE
Change-Id: I0a089cb1cb31c163d332fae1afaeeabf148b5ce9
Auto-generated-cl: translation import
2012-08-20 09:03:10 -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
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
Subir Jhanb
2ff0c04844 Merge "Change directory permission to "signature|system"" into jb-mr1-dev 2012-08-16 17:18:21 -07:00
Subir Jhanb
0224ccab3c Change directory permission to "signature|system"
Change-Id: I53dea6984b4577803fdead5caad0112503d2b4e5
2012-08-16 17:04:54 -07:00
Baligh Uddin
9e77bcdf3f Import translations. DO NOT MERGE
Change-Id: I8cda507820505a293fb31f0e8e0b804e85036b54
Auto-generated-cl: translation import
2012-08-16 13:14:12 -07:00
Jeff Brown
7c964e7899 Merge changes I39804ee6,I6a5a7ea2 into jb-mr1-dev
* changes:
  Use spline interpolation for auto-brightness.
  Add FloatMath.hypot.
2012-08-16 02:07:27 -07:00
Jeff Brown
1a30b55036 Use spline interpolation for auto-brightness.
Strictly speaking, this is a change in behavior for all products.
Instead of using discrete zones, they will all now use spline
interpolation.  We could make this behavior configurable
but there seems to be little point to it.  The range of brightness
values used will be more or less the same as before, it's just
that what used to be the brightness value for all levels within
a particular zone now becomes the brightness value for the
highest level in that zone and lower values are used for lower
levels within the zone.

Change-Id: I39804ee630ba55f018e1e53c0576b28e7bd27931
2012-08-16 01:45:10 -07:00
Baligh Uddin
a2ad798794 Import translations. DO NOT MERGE
Change-Id: Ia23016ed0e45aa2e904dbcb0e2cd54ae5cc92477
Auto-generated-cl: translation import
2012-08-15 15:10:39 -07:00
Baligh Uddin
75900f7d89 Import translations. DO NOT MERGE
Change-Id: Ic8830e8e351d93506427aabed4f527dfe2f5888f
Auto-generated-cl: translation import
2012-08-14 11:05:04 -07:00
Baligh Uddin
9e1b5846d6 Merge "Import translations. DO NOT MERGE" into jb-mr1-dev 2012-08-13 16:07:41 -07:00
Baligh Uddin
038d56254c Import translations. DO NOT MERGE
Change-Id: Ibf3ae701adc0526c77f0a5327a5ae14d0f01980b
Auto-generated-cl: translation import
2012-08-13 11:53:55 -07:00