Commit Graph

347 Commits

Author SHA1 Message Date
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
James Dong
248ba23ad2 Fix a race condition in Camera API for handling focus
In the case where a previous AF completion was outstanding but before the completion
notification reached the application, the application cancelled this AF request, and
then started a new AF request. Right after the new AF request, the AF completion
notification for earlier AF request reached the application. The application
could not tell the AF completion notification was meant for the cancelled AF, but
thought the new AF was successfully completed. Subsequently, the application trid to
take a picture, which failed as a result.

The fix is to add an explicit lock in the Camera.java class to fix the race condition to
synchornize autoFocus(), cancelAutoFocus() and the callback of the pending AF
completion message.

o related-to-bug: 6026480

Change-Id: I33d244d908ac066698e792f641ba88fe228b14a9
2012-04-30 12:01:06 -07:00
Mike Lockwood
166b05e0ce UsbService: Add support for accessory initiating USB audio support
Change-Id: I0e468f4b841de9e1ca7b75a05fc58299dbc78222
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-04-26 15:09:35 -07:00
Jeff Brown
9e6d4b035d Lost the race.
Bug: 6373370
Change-Id: If42a3de66b1d407b06064e91ff578dc9ca5ceed8
2012-04-20 13:08:27 -07:00
Wu-cheng Li
e17fc7d669 Merge "Improve android.hardware.Camera.setRotation javadoc." 2012-04-20 03:21:30 -07:00
Wu-cheng Li
8969ea12ca Improve android.hardware.Camera.setRotation javadoc.
Change-Id: If6c77044f3f4567ab0c3987fb2ddc47ae307582a
2012-04-20 17:38:09 +08:00
Wu-cheng Li
7bc1b21a52 Remove new camera open API.
Applications are not resumed under the lock screen now.
This API is not needed anymore.

bug:5584464
Change-Id: I1c18efb5ba1ecd39320eb5fd252c6e1229d7b89c
2012-04-19 14:18:44 +08:00
Jeff Brown
4481d9c10c Move legacy sensor support to a new class.
Bug: 6339552
Change-Id: I2067b754348ac76b1e1f71608031be2c80fc31d2
2012-04-16 17:18:23 -07:00
Jeff Brown
25157e458d Refactor SensorManager to move non-API bits into a subclass.
Changed the SensorManager class so that it only contains API-related
bits including what's needed to support legacy sensors.  Mostly just
moved stuff around.  Making the class abstract is safe because
it does not have a visible constructor in the API.

One minor change is that the cache of sensor type to sensor lists
is now per instance of SensorManager instead of being static.
We can fix this if desired.

Another small change is that we bail out early from registerListener
if the listener has already been registered for the particular
sensor.  This happened for both legacy and standard listeners.
The problem is that the ListenerDelegate maintains two lists of
sensors, one is a Map and the other is a List.  Adding a sensor
twice causes one entry to be added to the Map and two entries to be
added to the List, but when the sensor is removed the next time, only
one entry is removed from the List, leaving it in an inconsistent
state.

Removed Sensor.getLegacyType() since the value it provides is only
needed in LegacyListener and we don't really save any significant
computation by caching it.  Removing the field makes support for
legacy sensors a little more self-contained.

Bug: 6339552
Change-Id: I50d41ac97cf535924f2bfa2026d28547a4d00286
2012-04-16 13:03:55 -07:00
Jeff Brown
90aba7caac Merge "Add support for input devices that have vibrators." 2012-04-13 17:34:20 -07:00
Jeff Brown
a47425a13c Add support for input devices that have vibrators.
Added a getVibrator() method to InputDevice which returns a Vibrator
associated with that input device.  Its uses the same API as the
system vibrator which makes it easy for applications to be modified
to use one or the other.

Bug: 6334179
Change-Id: Ifc7f13dbcb778670f3f1c07ccc562334e6109d2e
2012-04-13 17:01:15 -07:00
Wu-cheng Li
5573ac0149 Merge "Unhide camera autofocus move callback." 2012-04-13 01:03:57 -07:00
Jeff Brown
af9e8d3818 Notify applications when input devices change.
This change allows the InputManager to keep track of what input
devices are registered with the system and when they change.
It needs to do this so that it can properly clear its cache of
input device properties (especially the key map!) when changes
occur.

Added new API so that applications can register listeners for
input device changes.

Fixed a minor bug in EventHub where it didn't handle EPOLLHUP
properly so it would spam the log about unsupposed epoll events
until inotify noticed that the device was gone and removed it.

Change-Id: I937d8c601f7185d4299038bce6a2934fe4fdd2b3
2012-04-12 18:54:54 -07:00
Wu-cheng Li
6574539bae Unhide camera autofocus move callback.
Camera autofocus move callback tells the clients when
continuous aufofocus is moving. Applications can show
autofocus animation based on this.

bug:5687212
Change-Id: I3191fd447b1e9de0ccf939eb346344f0be9bcf1a
2012-04-12 18:07:16 +08:00
Jeff Brown
9f25b7fdf2 Request key maps from input manager service.
Instead of each application loading the KeyCharacterMap from
the file system, get them from the input manager service as
part of the InputDevice object.

Refactored InputManager to be a proper singleton instead of
having a bunch of static methods.

InputManager now maintains a cache of all InputDevice objects
that it has loaded.  Currently we never invalidate the cache
which can cause InputDevice to return stale motion ranges if
the device is reconfigured.  This will be fixed in a future change.

Added a fake InputDevice with ID -1 to represent the virtual keyboard.

Change-Id: If7a695839ad0972317a5aab89e9d1e42ace28eb7
2012-04-10 18:23:58 -07:00
Jeff Brown
69bba1dfb7 Merge "Add a unique input device descriptor." 2012-04-06 15:04:53 -07:00
Jeff Brown
e38fdfae91 Add a unique input device descriptor.
The purpose of the input device descriptor is to make it possible
to associate persistent settings for each input device, such as the
keyboard layout.

The descriptor is a hash of the information we have about the
device, such as its vendor id, product id, unique id, name,
or location.

Bug: 6110399
Change-Id: Idb80f946819b3f0dbf4e661bb0a753dbc2b60981
2012-04-06 14:57:19 -07:00
Mike Lockwood
9d5a4be05b Add Intents to notify when USB audio devices or accessories are attached
In this change, only the USB audio accessory support is implemented.

Change-Id: Id9b411319b07a96dc56649ca74cc5f3f89a55a7c
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-04-06 11:00:27 -07:00
Jeff Brown
ac14351e16 Move some APIs from window manager to input manager.
Simplified input injection API down to just one call.

Removed all input state reading API.  It was only used by the
window manager policy and required a permission that applications
could not obtain.  READ_INPUT_STATE is now unused and deprecated.

Change-Id: I41278141586ddee9468cae0fb59ff0dced6cbc00
2012-04-05 19:33:11 -07:00
Jeff Brown
4532e61584 Refactor input system into its own service.
Extracted the input system from the window manager service into
a new input manager service.  This will make it easier to
offer new input-related features to applications.

Cleaned up the input manager service JNI layer somewhat to get rid
of all of the unnecessary checks for whether the input manager
had been initialized.  Simplified the callback layer as well.

Change-Id: I3175d01307aed1420780d3c093d2694b41edf66e
2012-04-05 14:42:11 -07:00
Jeff Brown
9df6e7a926 Initial commit of InputManager and keyboard layout API.
Added a new InputManager service for interacting with input
devices and configuring them.  This will be the focus of
an upcoming refactoring.

Added an API for registering keyboard layouts with the system
based on the use of a broadcast receiver.  Applications can
register their own keyboard layouts simply by declaring a
broadcast receiver in their manifests.

Added the skeleton of a package that will ultimately contain
the keyboard layouts and other input device related resources
that are part of the base system.

Bug: 6110399
Change-Id: Ie01b0ef4adbd5198f6f012e73964bdef3c51805c
2012-04-05 14:42:10 -07:00
Wu-cheng Li
8d3c318b2d Merge "Add a new camera open API that allows taking the ownership." 2012-03-15 21:23:24 -07:00
Scott Main
d45f5b5843 am af2827ba: am 714d655c: am eb1d42e4: Merge "docs: Fix a bunch of misc doc issues from external tracker" into ics-mr1
* commit 'af2827ba96361a63eac792e679027f8d6f2c8482':
  docs: Fix a bunch of misc doc issues from external tracker
2012-03-15 16:02:29 -07:00
Wu-cheng Li
a1c41e13b5 Add a new camera open API that allows taking the ownership.
The purpose is to let face unlock always get the camera
successfully. What happened was the camera applications may
have opened the camera in onResume under the lock screen.
This API lets face unlock take the camera from the camera
application. A new permission will be added, so other
applicatoins won't be able to take the camera from the face
unlock.

bug:5584464

Change-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6
2012-03-15 14:50:48 +08:00
Eino-Ville Talvala
0016813784 Merge "Add references to MediaActionSound in Camera documentation." 2012-03-14 10:34:05 -07:00
Eino-Ville Talvala
cb56923ba6 Check for null characters being used in camera parameters.
Change-Id: I258bce0fcadaec15e495e3303d3d7a952b72b4b5
2012-03-12 11:36:58 -07:00
Eino-Ville Talvala
108708b487 Add references to MediaActionSound in Camera documentation.
Also includes a few minor doc cleanups.

Change-Id: I1742a50f92ceb2b14761e8306891e545a3cf49dd
2012-03-12 09:12:27 -07:00
Scott Main
8edad6f16f docs: Fix a bunch of misc doc issues from external tracker
Change-Id: I03cae5bdb7b806e81cc6c983a014de212cb80c73
2012-03-09 12:30:40 -08:00
Ken Wakasa
f76a50ce8f Fix obvious typos under frameworks/base/core
Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
2012-03-09 22:48:43 +09:00
Eino-Ville Talvala
e69095869c NEW_API: Rework CameraSound into MediaActionSound, and unhide it.
MediaActionSound is a helper class for applications that use the
camera, or include camera-like behavior such as taking
screenshots. This class helps applications match the sound-playing
behavior of the Camera.takePicture, MediaRecorder.start, and
MediaRecorder.stop methods.

This is useful for applications that don't use the above methods, but
still logically capture images or video, such as the panorama capture
feature and the video effects in the platform camera application.

Bug: 5029099
Change-Id: I829f6e2941f167f91f9cb506215b7232cb054958
2012-03-06 16:33:50 -08:00
Jeff Brown
e0dbd00275 Mark input and sensor messages as asynchronous.
Set a barrier on traversals.

Vsync is still not enabled by default in this patch so there
should be no observable effect from these changes.

Change-Id: Ie12081b95a8f1e81ed686edf747cc62f2e044b7e
2012-02-16 18:19:56 -08:00
Mike Lockwood
7dbc4b457d Add SerialPort.sendBreak()
Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 10:51:21 -08:00
Mike Lockwood
b01e8bf57b New Serial Manager API:
SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports

IO with both array based and direct ByteBuffers is supported.

Accessing serial ports requires android.permission.SERIAL_PORT permission

Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).

In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2012-02-10 10:51:19 -08:00
Scott Main
e7eeace594 am ec12ae99: am 79cfde69: am 52bfc243: docs: fix misc doc bugs from external issue tracker
* commit 'ec12ae9933e463181338834387caa7c58b330635':
  docs: fix misc doc bugs from external issue tracker
2012-02-09 12:53:12 -08:00
Scott Main
52bfc24368 docs: fix misc doc bugs from external issue tracker
Change-Id: If6ff3476670e42b321d56d4a1482ccff96d4d500
2012-02-09 12:45:16 -08:00
Eino-Ville Talvala
143c7c8854 am 4bc873e6: am 7944704e: Merge "Switch camera sounds to always use the system enforced audio stream." into ics-mr1
* commit '4bc873e6ff73200af866f8c9efca66ad8ed23682':
  Switch camera sounds to always use the system enforced audio stream.
2012-01-06 15:51:44 -08:00
Eino-Ville Talvala
b7feb1c91f Switch camera sounds to always use the system enforced audio stream.
Instead of picking between the music stream and the enforced audio
stream, change the camera service to always play sounds through
enforced system stream. Also update the currently-hidden CameraSound
API to match.

Bug: 5778365
Change-Id: I3cc64b1d1ff567dbac8020a665d5b19846197ff3
2012-01-06 10:24:01 -08:00
Joe Fernandez
2b07267753 am 201469f5: am bb7f590a: Merge "docs: Add developer guide cross-references, Project ACRE, round 4" into ics-mr1
* commit '201469f54522436be79d4d6665721049bfc74320':
  docs: Add developer guide cross-references, Project ACRE, round 4
2011-12-22 15:59:34 -08:00
Joe Fernandez
3aef8e1d1b docs: Add developer guide cross-references, Project ACRE, round 4
Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
2011-12-22 15:08:23 -08:00
Wu-cheng Li
12f3e28544 Merge "Add a method to get empty camera parameters." 2011-11-30 00:47:01 -08:00