Commit Graph

386 Commits

Author SHA1 Message Date
Scott Kennedy
026f91915f am 08342698: Merge "docs: Fix a bunch of issues" into jb-mr1-dev
* commit '083426980dbe6607a0cfc8b4ec5944d5b414ecbe':
  docs: Fix a bunch of issues
2013-01-14 11:09:27 -08:00
Scott Kennedy
7ed189e457 docs: Fix a bunch of issues
External tracker 42609
External tracker 42607
External tracker 42604
External tracker 42600
External tracker 42574
External tracker 42450
External tracker 41050
External tracker 40995
External tracker 40970
External tracker 40935
External tracker 40507
External tracker 40481
External tracker 40435
External tracker 40406
External tracker 40297
External tracker 40281
External tracker 39978
External tracker 39929
External tracker 39803
External tracker 39715
External tracker 39441

Change-Id: If4215cef850ba8e4e8df356a68192566806e7914
2013-01-11 23:44:11 -08:00
Jeff Brown
74da109102 Support Wifi display devices that rename themselves.
Some Wifi display devices like to rename themselves after a
connection completes (or at other times).  Make sure to update
the name of the display when we detect that it changed in
our scan results.

This problem is somewhat complicated by the fact that we remember
the display name persistently, so we need to update our list
of remembered displays too.

Improve the state machine to avoid redundant attempts to
disconnect or cancel connection.

Bug: 7478895
Change-Id: I35a9e2c6a8deadbe892dacd5e3b4a5a2b12d6cf0
2012-11-07 18:43:32 -08:00
Eino-Ville Talvala
1cab31a45d Camera: Document new video snapshot picture size behavior.
On some devices, video snapshot may return pictures that are smaller
than requested. Make that clear.

Bug: 7475089
Change-Id: I0bd759072a7f954e517f3d09cb676fb23f863912
2012-11-05 10:57:27 -08:00
Mathias Agopian
278a966e80 fix an overflow in the orientation sensonr calculations
this would cause the TYPE_ORIENTATION sensor to report NaN after
40 to 800 hours of up-time. this problem only affects the older
and deprecated SensorListener API.

Bug: 7434842
Change-Id: Ie8593cca9c98e4907e417db4106c06151e3ee9a1
2012-10-29 16:03:46 -07:00
Jeff Brown
92130f6407 Add MediaRouter API to get presentation display.
This new API makes it possible for an application to ask on
which Display it should show a Presentation based on the currently
selected media route.

Also added a new API on DisplayManager to query displays that
support a certain category of uses.

Improved the documentation of the Presentation class to explain
how to choose an appropriate Display for presentation.

Bug: 7409073
Change-Id: Iab451215e570ae55f3718fc228303143c800fe51
2012-10-25 20:31:21 -07:00
Eino-Ville Talvala
4f8e5ce21d Camera: Query AudioService for shutter sound enforcement.
The AudioService now tracks the shutter sound enforcement status, in
addition to the existing approach. Check with it when doing shutter
sound operations.

Bug: 7032634
Change-Id: Ief855d3a36ca5679832cf439f5638b10f70b8636
2012-10-08 23:53:48 -07:00
Jeff Sharkey
fc3f24b4b6 Make USB services multi-user aware.
USB settings are now isolated per-user, since they revolve around
installed packages.  User-specific settings are returned based on
calling user, or referenced by UserHandle passed to SystemUI.  Each
settings Context is wrapped as a specific user, so all broadcasts are
sent correctly.  Upgrades any existing USB settings to OWNER.

Physical events, like new devices, are routed to the currently active
user.  Switch to using AtomicFile when persisting settings.

Bug: 7244888
Change-Id: I8a723ad3d55ac1bff99276c5f3a3f5e8f013432f
2012-10-02 18:09:10 -07:00
Jeff Brown
bc33545746 Allow applications to connect to known wifi displays.
Bug: 7177920
Change-Id: I9d8406e1016988e2cd267dfa52d78a829f1b385e
2012-09-26 18:34:47 -07:00
Eino-Ville Talvala
487acdfb4e Camera: Improve enableShutterSound documentation.
Bug: 7216272
Change-Id: I1b9add715c7d3671472b9f98d9b1d80823109365
2012-09-24 12:22:16 -07:00
Eino-Ville Talvala
5ce25d7170 Merge "NEW_API: Add android.hardware.Camera.CameraInfo#canDisableShutterSound" into jb-mr1-dev 2012-09-21 16:05:59 -07:00
Jeff Brown
89d5546d7f Add support for remembering Wifi display devices.
Add a setting to globally disable Wifi display.

Fixed a bug where the wifi display broadcast receiver
was running on the wrong thread.

Removed the wifi-display QuickSettings dialog, all functionality
has been moved to Settings.

Bug: 7178216
Bug: 7192799
Change-Id: I9796baac8245d664cf28fa147b9ed978d81d8ab9
2012-09-19 22:04:44 -07:00
Eino-Ville Talvala
f7c6c5ad64 NEW_API: Add android.hardware.Camera.CameraInfo#canDisableShutterSound
Allow applications to check if the camera shutter sound can be
disabled.

Bug: 7172643
Change-Id: I3e9184325d3676b24830cc5418ebca8dcade8697
2012-09-19 14:31:26 -07:00
Eino-Ville Talvala
8df3b2b398 Camera: Document face detection confidence recommendations.
Bug: 7108023
Change-Id: I9de583254d127f9c1f702b7ed159a7080bcbfd25
2012-09-15 14:32:14 -07:00
Eino-Ville Talvala
f353f948a5 Merge "NEW_API: Unhide android.hardware.Camera#enableShutterSound" into jb-mr1-dev 2012-09-13 11:15:15 -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
Eino-Ville Talvala
a910390b7d Merge "Camera: Add SCENE_MODE_HDR." into jb-mr1-dev 2012-09-11 11:20:09 -07:00
Eino-Ville Talvala
af87681f48 NEW_API: Unhide android.hardware.Camera#enableShutterSound
Change-Id: I8e7ef3e035dd261be51874f514d6be2fb8933e96
2012-09-11 11:16:52 -07:00
Eino-Ville Talvala
da2f0ea108 Camera: Add SCENE_MODE_HDR.
Change-Id: I43262e6ecd4bdd9a2ed2e94c05ad95435b32a0cd
2012-09-10 12:03:35 -07:00
Eino-Ville Talvala
69fe527bea Camera: Add enableShutterSound method.
Some camera apps may wish to replace the system camera shutter sound
with their own, especially if they are taking rapid bursts of
images. Add method to allow this when possible.

Hidden for now.

Change-Id: I6520f5441d28675626fafab48c6609c589fc6f7e
2012-09-10 09:09:13 -07:00
Jeff Brown
180bbc7181 Improve Wifi display discovery API.
Change-Id: I4d46503e5413f52da16f79bbc9c631cc5ae9c178
2012-09-08 23:15:00 -07:00
Jeff Brown
e08ae388d6 Add new wifi display discovery API.
The API is quite simple.  There are a few extra functions
on DisplayManager to scan, connect and disconnect from
wifi displays and get status, and a single protected
broadcast sent when the status changes.

Change-Id: Ic91dbab5ee818e790b27fa32e1a1e93788793be0
2012-09-08 14:53:34 -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
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
Jean-Baptiste Queru
8d8646471c am 1112a376: am 416362e6: Merge "Change StringTokenizer to TextUtils.StringSplitter"
* commit '1112a376e81af8ef4c2b661f5bda443596ba37da':
  Change StringTokenizer to TextUtils.StringSplitter
2012-08-28 13:41:15 -07:00
Jean-Baptiste Queru
1112a376e8 am 416362e6: Merge "Change StringTokenizer to TextUtils.StringSplitter"
* commit '416362e6d8c8d0a34e09704138688f75aa810c9b':
  Change StringTokenizer to TextUtils.StringSplitter
2012-08-28 13:19:48 -07:00
Craig Mautner
b47bbc3d80 Clean up displayId and layerStack usage.
Make better use of Display object by saving it in DisplayContent.
Only use layerStack when referring to Surfaces. Get displayId from
default Display or default DisplayContent. Remove warnings.

Fixes bug 7038151.

Change-Id: Ie493f0f5e755dc9b91ee969ff561c2a098283ead
2012-08-23 08:43:54 -07:00
Benoit Goby
4e68bd420b Add UsbDebuggingManager and UsbDebuggingActivity
The UsbDebuggingManager listens to adbd requests and displays a dialog
when the public key authentification fails, for the user to confirm if it
wants to allow USB debugging from the attached host. If the user chooses
to always allow USB debugging, the UsbDebuggingManager writes the public
key to adbd's config file so that the public key authenfication succeeds
next time.

Change-Id: I115c828331d8e326c380844ee33915d5dff22260
2012-08-20 13:44:34 -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
Jeff Brown
848c2dc93b Stub out display manager service implementation.
Reverting to the previous stub as the display adapter registration
and the logical to physical mapping is not at all what we are going
to need moving forward.

Fixed up the service initialization order so that the display manager
service has a context from the start.

Change-Id: I717f2f1099c7a77180ef207c371ec8329258850a
2012-08-19 21:21:37 -07:00
Jeff Brown
6a2ef12753 Add a toString() method to Sensor for debugging purposes.
Also made the class final, since it cannot be instantiated
by applications.

Change-Id: I540ad56d19debd99426d37b9b63c163827b4c2fc
2012-08-10 20:52:22 -07:00
Ali Utku Selen
0a12018e4c Change StringTokenizer to TextUtils.StringSplitter
Replacing StringTokenizer to TextUtils.StringSplitter,
since TextUtils.StringSplitter is more suitable for basic splitting tasks.
Also increased initial values for HashMap and StringBuilders to avoid
unnecessary buffer enlargement operations. This improves the performance
of these operations.

Change-Id: If9a5b68e6596ba9a6d29597876b6164ef34b57ac
2012-08-10 09:24:42 -07:00
mike wakerly
0099d67d68 Fix typo in UsbManager javadoc.
Closes http://b.android.com/32863

Change-Id: I8fc03ee70209413f279f606b393e79c12ee9c0d2
2012-08-09 16:31:26 -07:00
mike wakerly
a3665ba95d UsbRequest: set ByteBuffer.position() upon success.
Also clears allocated buffer before copying.

Closes http://b.android.com/28023

Bug: 5385026
Bug: 6766413
Change-Id: Icf2c1d45db4fb2a9bd1fcfdb29aa7308034faaf0
2012-08-09 15:28:10 -07:00
mike wakerly
1567a4341b Fix typo in UsbManager javadoc.
Closes http://b.android.com/32863

Change-Id: I8fc03ee70209413f279f606b393e79c12ee9c0d2
2012-08-09 11:25:16 -07:00
Jeff Brown
aa871b0ff0 Fix build.
Change-Id: Ife2fd58447205407e41ce3d27e28a705b744bede
2012-07-25 20:06:22 -07:00
Jeff Brown
fa25bf5382 Add display manager skeleton.
The purpose of this change is to remove direct reliance on
SurfaceFlinger for describing the size and characteristics of
displays.

This patch also starts to make a distinction between logical displays
and physical display devices.  Currently, the window manager owns
the concept of a logical display whereas the new display
manager owns the concept of a physical display device.

Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
2012-07-25 18:56:16 -07:00
Scott Main
9be0105fbc docs: fix several links
Change-Id: I89d9fd64dc22c90680bb05415cc966c255165af9
2012-06-22 12:35:08 -07:00
Eino-Ville Talvala
ca367b7178 Fix race condition with preview callback.
Bug: 6301018
Change-Id: I19b8bc03ef3983d69e1e986c0f1a8154af5ab080
2012-05-30 17:06:54 -07:00
Wu-cheng Li
e9c6c9ccfd Fix startFaceDetection will fail after taking a picture.
bug:6568961
Change-Id: I353c24496ec00805ed46ba90457729dfb5b2c337
2012-05-29 16:47:44 +08:00
Jeff Brown
cf39bdf3df Add support for switching between multiple keyboard layouts.
Also show a notification when an external keyboard is connected
and does not have a keyboard layout selected yet.

Bug: 6405203
Change-Id: Id0ac6d83b3b381f8a236b2244a04c9acb203db3c
2012-05-20 14:56:22 -07:00
Jeff Brown
d9fec5d317 Add support for grouping keyboard layouts by collection.
Bug: 6405203
Change-Id: Id818b27ec09928150795d594a96df186a6e39168
2012-05-17 16:01:54 -07:00
Mathias Agopian
fb89097099 fix SensorManager.getAngleChange() documentation
Bug: 6442517

Change-Id: I4b22540817560bdff134d2cc3274e3b39c92d3b1
2012-05-16 15:31:07 -07:00
Jeff Brown
2f09576074 Rename kcm attribute to keyboardLayout.
Bug: 6478076
Change-Id: I7fc0d8eb36d03a628d070f8fd6ea1e1464b1a163
2012-05-11 12:32:56 -07:00
Wu-cheng Li
b0dcf5ebb2 Merge "Avoid deadlocks when calling autoFocus from onAutoFocus callback." into jb-dev 2012-05-03 21:52:44 -07:00
Eino-Ville Talvala
163a3ae770 Merge "Update docs for YV12 format and camera preview callbacks." into jb-dev 2012-05-03 13:49:57 -07:00
Eino-Ville Talvala
951516358e Update docs for YV12 format and camera preview callbacks.
- Define stride for YV12 when using it for preview callbacks

- Include equations for calculating stride and start indexes of Y, U,
  and V planes for YV12.

- Add more cross-references so that equations are easier to find.

Bug: 6330501
Change-Id: I85a78757ec767d08173b9fe714adb715835244b4
2012-05-03 11:02:18 -07:00
Wu-cheng Li
f05c1d63d1 Avoid deadlocks when calling autoFocus from onAutoFocus callback.
Applicatons may use different threads for calling autoFocus and
onAutoFocus callback.

bug:6026574

Change-Id: I114a60240e22af15ca469b591e080121367db8e2
2012-05-04 01:01:46 +08:00