4307 Commits

Author SHA1 Message Date
Adam Cohen
3f3a60a037 am 2664f94f: am aec914b1: Merge "Adding notion of keyguard widgets" into jb-mr1-dev
* commit '2664f94f209100abacbfc857c33eac784f0fd6cf':
  Adding notion of keyguard widgets
2012-09-12 15:14:57 -07:00
Eino-Ville Talvala
21616b27ff am 64791aab: am ff5c9146: Merge "NEW_API: Unhide android.hardware.Camera.Parameters#SCENE_MODE_HDR" into jb-mr1-dev
* commit '64791aabd4f16df4adf5ec6adf97aa2b0633dd6c':
  NEW_API: Unhide android.hardware.Camera.Parameters#SCENE_MODE_HDR
2012-09-12 15:14:35 -07:00
Adam Cohen
aec914b130 Merge "Adding notion of keyguard widgets" into jb-mr1-dev 2012-09-11 13:18:14 -07:00
Eino-Ville Talvala
ff5c9146b5 Merge "NEW_API: Unhide android.hardware.Camera.Parameters#SCENE_MODE_HDR" into jb-mr1-dev 2012-09-11 12:41:11 -07:00
Eino-Ville Talvala
7cfd7d5b65 NEW_API: Unhide android.hardware.Camera.Parameters#SCENE_MODE_HDR
Bug: 7054970

Change-Id: I509fa18f1203022bb23cd9ef5c70cb3a3fbb8b77
2012-09-11 11:34:59 -07:00
Adam Cohen
0aa2d42e87 Adding notion of keyguard widgets
-> Persisting certain appwidget options
-> Adding ability to specify appwidget options on bind
   so as to avoid AppWidgetProvider update call with no
   options.

Change-Id: I5631039f19f1822b8e123b559b6353c880c0192e
2012-09-11 10:53:57 -07:00
Victoria Lease
57ff180fe9 am 64a5c4cf: am d7f5a51b: Merge "IME support for trackball and generic motion events" into jb-mr1-dev
* commit '64a5c4cf2f53c11b1a9141228a39ea4305b856fc':
  IME support for trackball and generic motion events
2012-09-10 17:15:57 -07:00
Wu-cheng Li
f87bc01766 am 774f1fca: am 753e1280: Merge "Unhide INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE." into jb-mr1-dev
* commit '774f1fca6fff5ba9ecd5a7db9548f6644cfaff27':
  Unhide INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE.
2012-09-10 17:13:37 -07:00
Dianne Hackborn
9e0709c6fb am 1d0467ae: am 8727a731: Merge "A little cleanup." into jb-mr1-dev
* commit '1d0467ae1d7207c9a115241e17361442bb343f0f':
  A little cleanup.
2012-09-10 17:12:02 -07:00
Dianne Hackborn
234f00b9e8 am 789203ec: am 5d75052b: Merge "Add Binder.getCallingUserHandle()." into jb-mr1-dev
* commit '789203ec530e61f7678c9883a67135bf8cd3c679':
  Add Binder.getCallingUserHandle().
2012-09-10 17:09:33 -07:00
Chet Haase
be6665a933 am 39b72a7a: am 89b3f48f: Merge "Enable changing properties of layer paint" into jb-mr1-dev
* commit '39b72a7aaef1f7a5b7e43a6d0fe5a619b303fe66':
  Enable changing properties of layer paint
2012-09-10 17:06:53 -07:00
Dianne Hackborn
3f6f96b526 am 00b7d2a0: am 649d0d71: Merge "More multi-user stuff:" into jb-mr1-dev
* commit '00b7d2a0de5d235f7eab721d4369bf93af512351':
  More multi-user stuff:
2012-09-10 17:06:32 -07:00
Victoria Lease
d7f5a51baf Merge "IME support for trackball and generic motion events" into jb-mr1-dev 2012-09-10 14:12:48 -07:00
Victoria Lease
b38070caa5 IME support for trackball and generic motion events
Trackball and generic motion events now pass through the IME in case
it would like to handle them before passing them on to the view
hierarchy.

While I was at it, I also...
...fixed the documentation on InputMethodService.onKeyUp()
...added documentation to InputMethodService.onTrackballEvent()
...added trackball and generic motion events to the "input" command
...fixed input consistency verification involving ACTION_OUTSIDE

Bug: 7050005
Change-Id: I40ab68df4a9542af6df25de6ec2ec500e4c02902
2012-09-10 14:01:42 -07:00
Wu-cheng Li
753e1280cb Merge "Unhide INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE." into jb-mr1-dev 2012-09-10 00:48:26 -07:00
Dianne Hackborn
1b8ecc5031 A little cleanup.
Change-Id: Ie33fd1b02011606e67ce08df3cce887c07680c60
2012-09-09 14:41:34 -07:00
Dianne Hackborn
74ee8652e0 Add Binder.getCallingUserHandle().
Change-Id: I2a7eedfdc7baeeb4c2cd2ca0153aa95e0cf0bf45
2012-09-07 18:33:18 -07:00
Chet Haase
89b3f48fa3 Merge "Enable changing properties of layer paint" into jb-mr1-dev 2012-09-07 14:44:43 -07:00
Dianne Hackborn
5e03e2ca7d More multi-user stuff:
- New (hidden) isUserRunning() API.
- Maintain LRU list of visited users.
- New FLAG_IS_DATA_ONLY for ApplicationInfo.
- Clean up pending intent records when force-stopping a user (or package).
  (Also fixes bug #6880627: PendingIntent.getService() returns stale
  intent of force stopped app)
- Fix force-stopping when installing an app to do the force-stop across
  all users for that app.
- When selecting which processes to kill during a force stop, do this
  based on the actual packages loaded in the process, not just process
  name matching.
- You can now use --user option in am when starting activities, services,
  and instrumentation.
- The am --user option accepts "current" and "all" as arguments.
- The pm uninstall command now uninstalls for all users, so it matches
  the semantics of the install command.
- PhoneWindowManager now explicitly says to start home in the current
  user.
- Activity manager call to retrieve the MIME type from a content provider
  now takes a user argument, so it will direct this to the proper user.
- The package manager uninstall paths are now implemented around
  PackageSetting, not PackageParser.Package.  This allows them to work
  even if the application's apk has been removed (in which case it only
  exists as a PackageSetting, not the PackageParser.Package parsed from
  the apk).

Change-Id: I3522f6fcf32603090bd6e01cc90ce70b6c5aae40
2012-09-07 13:55:23 -07:00
Chet Haase
d15ebf25c5 Enable changing properties of layer paint
Previously, to draw a layered view with a changed Paint object for the
drawLayer operation, you'd have to invalidate the parent view, to get the
native DisplayList to pick up the new Paint properties. This change adds
API and functionality so that the developer can call setLayerPaint(), which
does the proper invalidation (lightweight, doesn't cause redrawing the view).

Issue #6923810 Make it easy to efficiently animate a layer's Paint

Change-Id: I7fea79788d50f6d9c86dd5e5b2a4490cb95142bb
2012-09-07 13:27:02 -07:00
Wu-cheng Li
e590dc6f7d Unhide INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE.
bug:7053266

Change-Id: I4e00199598f57f11250abeab4ce17ced18f41f14
2012-09-07 19:05:41 +08:00
Svetoslav Ganov
d5ebfaceed am bf82338e: am 01fa8889: Merge "Adding FEEDBACK_BRAILLE to AccessibilityServiceInfo." into jb-mr1-dev
* commit 'bf82338e7a317641348cc7a6f3178808657de791':
  Adding FEEDBACK_BRAILLE to AccessibilityServiceInfo.
2012-09-06 19:47:23 -07:00
Svetoslav Ganov
01fa888903 Merge "Adding FEEDBACK_BRAILLE to AccessibilityServiceInfo." into jb-mr1-dev 2012-09-06 19:43:54 -07:00
Svetoslav Ganov
eb9862fd4c Adding FEEDBACK_BRAILLE to AccessibilityServiceInfo.
1. The feedback type provided by braille devices differs from all
   already predefined types and this change defines braille
   feedback type. Braille does not fit in the already predefined
   categories.

bug:6998945

Change-Id: Ide6043bed03fdecd6d2ee45a08762f5bd07a2118
2012-09-06 19:40:34 -07:00
Svetoslav Ganov
9f8b2cbec7 am b15a6363: am 6da58271: Merge "Screen magnification - feature - framework." into jb-mr1-dev
* commit 'b15a6363f7e6df41614a5f4c3d12281844deea82':
  Screen magnification - feature - framework.
2012-09-06 19:02:56 -07:00
Svetoslav Ganov
1cf70bbf96 Screen magnification - feature - framework.
This change is the initial check in of the screen magnification
feature. This feature enables magnification of the screen via
global gestures (assuming it has been enabled from settings)
to allow a low vision user to efficiently use an Android device.

Interaction model:

1. Triple tap toggles permanent screen magnification which is magnifying
   the area around the location of the triple tap. One can think of the
   location of the triple tap as the center of the magnified viewport.
   For example, a triple tap when not magnified would magnify the screen
   and leave it in a magnified state. A triple tapping when magnified would
   clear magnification and leave the screen in a not magnified state.

2. Triple tap and hold would magnify the screen if not magnified and enable
   viewport dragging mode until the finger goes up. One can think of this
   mode as a way to move the magnified viewport since the area around the
   moving finger will be magnified to fit the screen. For example, if the
   screen was not magnified and the user triple taps and holds the screen
   would magnify and the viewport will follow the user's finger. When the
   finger goes up the screen will clear zoom out. If the same user interaction
   is performed when the screen is magnified, the viewport movement will
   be the same but when the finger goes up the screen will stay magnified.
   In other words, the initial magnified state is sticky.

3. Pinching with any number of additional fingers when viewport dragging
   is enabled, i.e. the user triple tapped and holds, would adjust the
   magnification scale which will become the current default magnification
   scale. The next time the user magnifies the same magnification scale
   would be used.

4. When in a permanent magnified state the user can use two or more fingers
   to pan the viewport. Note that in this mode the content is panned as
   opposed to the viewport dragging mode in which the viewport is moved.

5. When in a permanent magnified state the user can use three or more
   fingers to change the magnification scale which will become the current
   default magnification scale. The next time the user magnifies the same
   magnification scale would be used.

6. The magnification scale will be persisted in settings and in the cloud.

Note: Since two fingers are used to pan the content in a permanently magnified
   state no other two finger gestures in touch exploration or applications
   will work unless the uses zooms out to normal state where all gestures
   works as expected. This is an intentional tradeoff to allow efficient
   panning since in a permanently magnified state this would be the dominant
   action to be performed.

Design:

1. The window manager exposes APIs for setting accessibility transformation
   which is a scale and offsets for X and Y axis. The window manager queries
   the window policy for which windows will not be magnified. For example,
   the IME windows and the navigation bar are not magnified including windows
   that are attached to them.

2. The accessibility features such a screen magnification and touch
   exploration are now impemented as a sequence of transformations on the
   event stream. The accessibility manager service may request each
   of these features or both. The behavior of the features is not changed
   based on the fact that another one is enabled.

3. The screen magnifier keeps a viewport of the content that is magnified
   which is surrounded by a glow in a magnified state. Interactions outside
   of the viewport are delegated directly to the application without
   interpretation. For example, a triple tap on the letter 'a' of the IME
   would type three letters instead of toggling magnified state. The viewport
   is updated on screen rotation and on window transitions. For example,
   when the IME pops up the viewport shrinks.

4. The glow around the viewport is implemented as a special type of window
   that does not take input focus, cannot be touched, is laid out in the
   screen coordiates with width and height matching these of the screen.
   When the magnified region changes the root view of the window draws the
   hightlight but the size of the window does not change - unless a rotation
   happens. All changes in the viewport size or showing or hiding it are
   animated.

5. The viewport is encapsulated in a class that knows how to show,
   hide, and resize the viewport - potentially animating that.
   This class uses the new animation framework for animations.

6. The magnification is handled by a magnification controller that
   keeps track of the current trnasformation to be applied to the screen
   content and the desired such. If these two are not the same it is
   responsibility of the magnification controller to reconcile them by
   potentially animating the transition from one to the other.

7. A dipslay content observer wathces for winodw transitions, screen
   rotations, and when a rectange on the screen has been reqeusted. This
   class is responsible for handling interesting state changes such
   as changing the viewport bounds on IME pop up or screen rotation,
   panning the content to make a requested rectangle visible on the
   screen, etc.

8. To implement viewport updates the window manger was updated with APIs
   to watch for window transitions and when a rectangle has been requested
   on the screen. These APIs are protected by a signature level permission.
   Also a parcelable and poolable window info class has been added with
   APIs for getting the window info given the window token. This enables
   getting some useful information about a window. There APIs are also
   signature protected.

bug:6795382

Change-Id: Iec93da8bf6376beebbd4f5167ab7723dc7d9bd00
2012-09-06 18:56:17 -07:00
Christopher Tate
38ce498bcb am 399928df: am 06efb530: Per-user settings
* commit '399928df01def71f6da5eaa0ed5eaae6a963b79b':
  Per-user settings
2012-09-06 16:43:50 -07:00
Christopher Tate
06efb530a4 Per-user settings
Each user has its own Settings.System.* and Settings.Secure.* namespace now.  In
addition, this CL introduces the new Settings.Global.* namespace, which contains
a number of previously-elsewhere named settings entities; these Global.* entities
are common to all users.  Because these elements have been moved from their prior
existence in the other namespaces, attempts to access them under their old names
and namespaces are detected and redirected (with appropriate compile-time and
logging messages) to their new homes.

The new Global.* namespace can only be written by system-level code, just like
the existing Secure.* namespace.  If an app attempts to write a key that was
previously in the System.* namespace but has been moved to the Global.* namespace,
then a warning is logged and no write is performed; the action is a no-op.  (The
app is explicitly not crashed, to avoid breaking well-behaved apps that can't
know any better.)

There is also now a hidden API for getting/setting settings entities associated
with a user other than the caller's.  Reading/writing data for a user other than
yourself requires the signature-level INTERACT_ACROSS_USERS_FULL permission.

Manipulating data for a different user cannot be done via the ContentProvider
query() / insert() APIs; you must use the Settings.get/put APIs for that degree
of control.  In general, use of the get/set API is *strongly* preferred over
query-type access to Settings.

Bug 6985398

Change-Id: Ibee54ddff99fb847c8c2479c23b50f1e7524d724
2012-09-06 16:39:08 -07:00
Dianne Hackborn
59ad17ed08 am 99b23e2c: am fae0d662: Merge "Nested fragments." into jb-mr1-dev
* commit '99b23e2c873ff6df5f6609bc87a3bdb9ae33e5ba':
  Nested fragments.
2012-09-06 11:48:43 -07:00
Dianne Hackborn
62bea2f171 Nested fragments.
Change-Id: I79acc19b391352c16b06afee2ca543223c38e364
2012-09-06 11:05:53 -07:00
Satoshi Kataoka
993ed86b99 am ea5fdf61: am 0d727c71: Merge "Add subtypeId for keeping enabled "InputMethodSubtype"s even if subtype parameters are changed" into jb-mr1-dev
* commit 'ea5fdf6171abfcad59c4d2d00dbb0783fcb94251':
  Add subtypeId for keeping enabled "InputMethodSubtype"s even if subtype parameters are changed
2012-09-04 20:34:15 -07:00
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
a6e7d33cab am 6627406a: am 175ae55c: Merge "Update DevicePolicyManager with ability to disable keyguard widgets" into jb-mr1-dev
* commit '6627406a5ce881d6d6b4bcdfef4b2b9804032810':
  Update DevicePolicyManager with ability to disable keyguard widgets
2012-09-04 15:25:40 -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
949c875a05 am 81c66d65: am 035ce2ca: Merge "Add support for "-rtl" in resources" into jb-mr1-dev
* commit '81c66d6592718e9a1c57c39c1675ea13e8e769bb':
  Add support for "-rtl" in resources
2012-09-04 15:06:20 -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
b7b396cf5b am 697b1a01: am f83ec838: Merge "More improvements to the display manager." into jb-mr1-dev
* commit '697b1a015efde0ed69cfa69de4f9a908640a4ec1':
  More improvements to the display manager.
2012-08-31 15:53:47 -07:00
Jeff Brown
7768e5e829 am 058ebd25: am 3b9a4160: Merge "Initial draft of high-level multi-display APIs." into jb-mr1-dev
* commit '058ebd259ddc4e50eaae319126c0998f2702ddb0':
  Initial draft of high-level multi-display APIs.
2012-08-31 15:53:43 -07: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
ef2bcb7c0c am df9af39a: am 89bc8636: Merge "Add an OnDismissListener to AutoCompleteTextView" into jb-mr1-dev
* commit 'df9af39a5462f6a1e73829a5800537c3e505b356':
  Add an OnDismissListener to AutoCompleteTextView
2012-08-31 11:32:07 -07:00
Adam Powell
89bc8636c5 Merge "Add an OnDismissListener to AutoCompleteTextView" into jb-mr1-dev 2012-08-31 11:26:54 -07:00
rich cannings
6c197585c1 am d3fe930d: am a2875f48: Merge "Notify verifiers that verification is complete" into jb-mr1-dev
* commit 'd3fe930da9199d7fde39e243ba9c695872c0622b':
  Notify verifiers that verification is complete
2012-08-30 20:39:58 -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
7cd1bfa801 am f59dfc81: am 73365695: Merge "Improve multi-user broadcasts." into jb-mr1-dev
* commit 'f59dfc81f4d1e91aa436ed70d7f8372bce3d91e0':
  Improve multi-user broadcasts.
2012-08-30 15:01:28 -07:00