Commit Graph

395 Commits

Author SHA1 Message Date
Marco Nelissen
50c782190d am 01f42639: Merge "fix typo in docs"
* commit '01f42639f21ec98feb5e5d458632a1a1005b17e8':
  fix typo in docs
2012-12-15 14:57:51 -08:00
Hai Guo
4a68e3c26d fix typo in docs
description of 'android/hardware/Camera.Parameters.html#
    setPreviewFpsRange(int, int)' not right

Change-Id: Ic83c0f404710a0125138df1e2b7663994301aee7
2012-12-05 21:50:28 +08:00
Craig Mautner
50acd73173 am 67a3fb6f: am c10914ca: Merge "Support Wifi display devices that rename themselves." into jb-mr1.1-dev
* commit '67a3fb6f3b787f0151c7f76f0c19dd1c8b80ae4e':
  Support Wifi display devices that rename themselves.
2012-11-13 10:04:27 -08:00
Eino-Ville Talvala
f4334f63c5 am 9671e6e1: am e980adfd: am 4a1b6e42: Merge "Camera: Document new video snapshot picture size behavior." into jb-mr1-dev
* commit '9671e6e116bbb8a82784457382cab3f90289e31b':
  Camera: Document new video snapshot picture size behavior.
2012-11-08 06:14:01 -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
Kenny Root
58ed5d748c am 768d9e1a: Merge "Correct executable bit for source files"
* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
  Correct executable bit for source files
2012-11-07 11:52:12 -08:00
Kenny Root
3a084af2e9 Correct executable bit for source files
Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
2012-11-07 10:27:31 -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
ecd580d7da am fdd714f8: am 0da554ac: Merge "fix an overflow in the orientation sensonr calculations" into jb-mr1-dev
* commit 'fdd714f8d52a7ab2b96839b7cfe8ed917417383b':
  fix an overflow in the orientation sensonr calculations
2012-10-29 16:55:40 -07: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
46a0ec73b6 am 14012e1d: am 4e0bf7c4: Merge "Add MediaRouter API to get presentation display." into jb-mr1-dev
* commit '14012e1d1b3c96048955e22d2bb73b9c63189a54':
  Add MediaRouter API to get presentation display.
2012-10-29 13:37:10 -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
Nick Kralevich
369852ebde am 7e007ff8: Merge "Sensors could be disabled by any application"
* commit '7e007ff83738a83f43cb59ddc023a2b860367074':
  Sensors could be disabled by any application
2012-10-24 16:50:32 -07:00
Nick Kralevich
7e007ff837 Merge "Sensors could be disabled by any application" 2012-10-24 16:29:06 -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
Magnus Hallqvist
6d7a473764 Sensors could be disabled by any application
In the SensorManager API unregisterListener any application could
unregister any sensor. This lets any application disable a sensor
which another application is using.
This fix restricts the applications to only be able to unregister
a sensor it has previously registered to.

Change-Id: Ief926dd29f480dd97626160810dff87a8d3ac8dc
2012-09-11 13:25:20 +02: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