Commit Graph

1053 Commits

Author SHA1 Message Date
Jungshik Jang
b6591b8e53 Implement OneTouchRecordAction and stop one touch record.
In addition to it, add api for clearTimerRecording as well.
Separately, I will replace logic for notifying message with callback
interface.

Bug: 16160962

Change-Id: I2368f7c697eb44ed4542c0ec4412c63a6ae41a5c
2014-07-24 11:11:38 +09:00
Jungshik Jang
f3fa471d96 Add @hide and @SystemApi to HdmiTimerRecordSources
Change-Id: I3938b26af4ca2fe8d70224bd7bac30ba627d6d44
2014-07-24 09:56:28 +09:00
Jae Seo
80bc75a71e Fix build
Change-Id: Icc1bf76ef748b10cc7ea745bc37c4e7bc0d7ff43
2014-07-23 13:16:46 -07:00
Eino-Ville Talvala
2f75e7d7ef Camera2: Fix callback operation
- Remove CloseableLock use; looks to be incompatible with invocations during callbacks
- Replace with basic interface lock to be thread-safe
- Add intermediate callback thread to legacy mode to match cross-process one-way Binder
  semantics

Change-Id: Iecd4ff6cf260c5a13bd11b850177ccea93e25933
2014-07-23 19:14:10 +00:00
Jungshik Jang
a00161675f Fix unknown tag @throw
Change-Id: I8c017a83175c447d02d8eb28f571e31921ae77c6
2014-07-23 23:30:00 +09:00
Jungshik Jang
bffb0635aa Add startTimerRecording api to IHdmiControlService.
In order to support timer recording we need separate API,
startTimerRecording. Also added HdmiTimerRecordingSources
which is used to help creating timer recording information
such as timing information and program information.

Besides, in order to distinguish one touch record
and timer recording, rename startRecord with startOneTouchRecording.

Bug: 16160962
Change-Id: I8c3d4034665a2f84ddf07135aee73e17ac17cd82
2014-07-23 16:12:10 +09:00
Igor Murashkin
0986121807 Merge "camera2: Add legacy available Request/Result/Characteristics keys" into lmp-dev 2014-07-22 16:21:19 +00:00
Igor Murashkin
6c76f58f31 camera2: Add legacy available Request/Result/Characteristics keys
* Also changes the CameraMetadata#get*Keys to not return @hide keys

Change-Id: Ifc89153136a9be502b7b88addbd16a5de68a7bfc
2014-07-22 13:10:29 -07:00
Yin-Chia Yeh
f8f37002c0 camera2: minor doc update
Doc update reflecting the minor spec change.

Change-Id: I7a1cf766fe6bee4dd08fd19f03778ce8a6ce2dde
2014-07-22 17:26:30 +00:00
Jinsuk Kim
29a5d26207 Define a constant for HDMI-CEC logical address used for internal source
Change-Id: Ic7d6a5378361d7ed8ae4b635312b956b063fc95a
2014-07-22 07:37:45 +00:00
Jeff Brown
970d4132ea Allow dreams to control screen state and brightness.
Added setDozeScreenState() and setDozeScreenBrightness() methods to
DreamService.  The values specified here only take effect once
startDozing is called and can be changed while dozing.

This required some significant rework of the display power controller
but the result seems quite nice and better represents the policy
we want to apply.

Changed the test dream a little bit to make it flash the screen
every minute using the new functions.

Bug: 15903322
Change-Id: I83bcc34503f1b87727d2b2b3c0ef08507f9f0808
2014-07-22 01:18:26 +00:00
Craig Mautner
3d0c57a1d3 Don't create a delegate for null callbacks.
ActivityView does not create callbacks for the VirtualDisplay. This
leads to setting Looper.myLooper() from a Binder thread which
leads to NPE when trying to dereference its message queue.

Fixes bug 16386002.

Change-Id: I12760a22075ed4770f3fe960763e0135fe095cfe
2014-07-21 14:33:47 -07:00
Jungshik Jang
a6b2a7a59a Add two apis for one touch record.
This change introduces new two apis for one touch record.
1. setRecordRequestListener
 It's used to get notified when a recorder device initiates
 "one touch record". As return of callback, client should
 generate "record source" and return it.
2. startRecord
 It's used to initiate "one touch record" from Tv.

Along with this, add HdmiRecordSources which is a helper
class assisting buidling byte array form from the given
record source information.

Bug: 16160962

Change-Id: I403d37b752c9b7f799c6d8188a071ef420fe8ac2
2014-07-21 16:54:53 +09:00
Sandeep Siddhartha
110f569b47 Fix synchronization issues in AlwaysOnHotwordDetector
- Remove unnecessary recognition status from AlwaysOnHotwordDetector

- Remove unnecessary recognition started callback from IRecognitionStatusCallback

- Fix a bug around the fact that we weren't picking up enrollment at runtime because
we were storing the availability at instantiation time.

- Handle 0-length arrays in SoundTrigger classes while parceling/unparceling

- Fix issue in SoundTrigger helper where we were not comparing binders for start/stop calls

- Unload the previous model when starting a new recognition

- Add more debug logging

Change-Id: Icc56d7f3dd1ffa49a8cfeea49080e3ab4d342c32
2014-07-20 16:53:09 -07:00
Sandeep Siddhartha
055897208d Move sound trigger calls to VoiceInteractionManagerService
- This ensures that any data being loaded on the DSP comes from the framework

Change-Id: Ie15f0994850ba8f298ca07c49fe0b89e066d9e2b
2014-07-20 11:22:55 -07:00
John Spurlock
7b41467704 Zen mode filtering should use new usage constants.
Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
2014-07-19 11:57:51 -04:00
Yin-Chia Yeh
8f8141e24f Merge "Camera2: add highSpeedVideoConfig wrapper and APIs" into lmp-dev 2014-07-18 18:24:25 +00:00
Yin-Chia Yeh
12da140082 Camera2: add highSpeedVideoConfig wrapper and APIs
- Add wrapper class for highSpeedVideoConfiguration.
- Add APIs to query high speed video recording configurations in
  StreamConfigurationMap
- Fix ColorSpaceTransform unit test in CameraMetadataTest
- Fix a bug in HashCodeHelper

Change-Id: I192e57f6ab5dfbba6d958571352f067a9eaec7b2
2014-07-18 16:00:53 -07:00
Zhijun He
fac77c46fe Camera2: send the partial result with onCaptureProgressed
When partial results are receieved, call onCaptureProgressed instead of
onCapturePartial.

Change-Id: If97233d7b980f490821bca0a722d527f19034cd9
2014-07-18 22:01:48 +00:00
Jeff Brown
241e70d607 Add glance sensor for doze mode.
Change-Id: I66d11a1f032017b16d3f57fa60699a02d67ad5f1
2014-07-17 18:19:53 -07:00
Zhijun He
d1d2d43fc0 Merge "Camera2: partialResultCount should be optional" into lmp-dev 2014-07-17 21:09:48 +00:00
Zhijun He
1420de4162 Camera2: partialResultCount should be optional
Change-Id: Iacd2b5e8f388c18cbff0f1cefdb5c10812ae751e
2014-07-17 17:45:54 -07:00
Zhijun He
83159151f6 Camera2: replace partial quirks with normal partial result
Change-Id: I56550748478bf0aa1a7bf9a350b4fdc7bbd6af86
2014-07-17 20:08:32 +00:00
Michael Wright
c39d47a8e7 Add MediaProjection APIs.
The new MediaProjection infrastructure allows the system to hand out
tokens granting the ability to capture the screen's contents, audio,
etc. at a granular level. It's intended to be used both for screen
casting, via the cast APIs, as well as screen sharing via third party
applications.

The screen sharing case is implemented, but all of audio capturing
is still forthcoming.

Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
2014-07-17 14:30:19 -07:00
destradaa
6ccb5f894e Merge "Fix exceptions in ActivityRecognition platform stack." into lmp-dev 2014-07-17 18:11:21 +00:00
destradaa
3b0224dc3c Fix exceptions in ActivityRecognition platform stack.
b/16348349

Change-Id: I1f85283c86130b86389a1be7da49904658b0558c
2014-07-17 11:09:46 -07:00
Eino-Ville Talvala
7040e9f7fe Merge "Add PackageManager features for differentiating camera2 devices" into lmp-dev 2014-07-17 02:40:09 +00:00
Eino-Ville Talvala
611fecec08 Add PackageManager features for differentiating camera2 devices
Also rename DNG capability to RAW.

Bug: 15415688
Change-Id: I1ea9f65b03c4fa06a5004f9d1d485935742001c8
2014-07-17 10:58:16 -07:00
Ruben Brunk
40001f5dac camera2: Fix swapped Face detection commands.
Bug: 16343647
Change-Id: I06186b1d6a2ef5d73d2e22759e947156d43cab3f
2014-07-17 18:04:42 +00:00
Sandeep Siddhartha
e6cd2476aa Add recognition modes to the enrollment metadata
This will be used by the Voice interaction service to determine what type of recognition may be run
on the DSP. e.g. If the DSP supports voice trigger only for the given keyphrase,
the voice interaction service may want to perform user identification at its end.

Also support keyphrase metadata for all keyphrases and locales.
In case the enrollment app supports open-ended keyphrases, it can leave the keyphrase text
to be empty
similarly, if the enrollment app supports all locales, it can leave the supported locales
attribute to be empty,

Change-Id: I782a17a877fc79ed569fa7c3a81697641182590b
2014-07-16 22:03:03 -07:00
Sandeep Siddhartha
a433af6b73 Add code for isKeyphraseActive and some logging to help debug issues
Change-Id: I89f2090be5a5fe5f7c0da1648a0d46a093893fe2
2014-07-16 19:52:32 -07:00
Sandeep Siddhartha
8ecaf5f5cf Hook in startRecogniton call
Add required info to the sound model database: users & recognition modes

Change-Id: I6e12cbc6342a2767c0e3d8328c0a3be899ac9952
2014-07-15 18:36:09 -07:00
Ruben Brunk
d1f113d0f0 DO NOT MERGE: camera2: Performance potpourri.
Bug: 16208403
Bug: 15116722

Fixes many of the performance issues in the Camera2 API and
LEGACY mode CPU path, including:
- Only call getParameters/setParameters when the request has changed.
- Cache Request/Result objects.
- Cache object hashes for long-lived CameraMetadata, TypeReference,
  and Key objects with frequently used hash methods.
- Switch to Command pattern instead of repeated if/equals calls.
  in frequently hit CameraMetadata get/set methods.
- Move string construction for logging behind flags to avoid extra
  StringBuilder calls in frequently acquired lock methods.
- Cache results from frequently used JNI calls in object Builders.

Change-Id: I77bc4a023d4fe8bc46efcf771ff18ee268dcb9a9
2014-07-16 01:23:39 +00:00
Igor Murashkin
cc542a4e74 camera2: Fix available keys to filter to only supported keys
The following functions are affected:
* CameraCharacteristics#getKeys
* CameraCharacteristics#getAvailableResultKeys
* CameraCharacteristics#getAvailableRequestKeys

The above keys will now only return keys whose tags are set in
android.request.available{Characteristics,Result,Request}Keys

This change makes it possible to detect if a key is guaranteed to be
available at a granular basis (without querying hardwareLevel or
capabilities).

Change-Id: Iaa34e8c24100339c215604ff49035527fae467cd
2014-07-16 00:18:12 +00:00
Ruben Brunk
28c49c9d20 camera2: Update shader scaling matrix for legacy mode.
Bug: 15116722
Change-Id: Idaa4311dfd027b2d2b8ea5e2c6cba2da5779d753
2014-07-14 22:57:07 +00:00
Eino-Ville Talvala
b942b05093 Deprecate android.hardware.Camera
__
             ||
             ||
             ||
             ||---____-----+
             ||    \_/     |
             ||   /. .\    |
             ||  ||---||   |
             ||   |___|    |
             ||    | |     |
             ||---____-----+
             ||
             ||
             ||
_____________||_________________

Replaced by android.hardware.camera2

- Also deprecate MediaRecorder#setCamera
- Also deprecate all Camera inner classes
- Update reference documentation in various classes to point to camera2
- Add note to camera API guide that it uses the old API
  (until a new guide is available)
- Remove old hidden raw sensor format; superceded by RAW_SENSOR.

Change-Id: I3d839765fc9b9aae906751ee32d6956ef40451ce
2014-07-13 21:45:57 -07:00
Lajos Molnar
5d2fa0e0b5 Fix build
Change-Id: Ic06f633e5d57b28260fa94914e2a0daccdaa1a14
2014-07-12 15:34:51 -07:00
destradaa
a4fa3b5aa5 Add support in the platform for Activity Recognition Hardware.
Change-Id: I7c4fff3526583475a5edf1f4ba8fede4e9419ead
2014-07-11 15:58:36 -07:00
Igor Murashkin
396532ffb8 camera2: (LEGACY) Update flash modes to fix #testFlashControl CTS
Change-Id: I9b66a2b4393f4bc2272ecc94cd9a5c6273f3de59
2014-07-11 14:08:42 -07:00
Igor Murashkin
49a1d7b7de camera2: (legacy) Fixes for CaptureRequestTest#testAeModeAndLock
Change-Id: I5c1008cf34a9d98f67c36966e7cbf1c312979f97
2014-07-11 12:59:50 -07:00
Igor Murashkin
3e280b4bb2 camera2: (Legacy) Implement ae compensation step ranges and ae/awb locks
Characteristics:
* control.aeCompensationRange
* control.aeCompensationStep

Request/Result:
* control.aeExposureCompensation
* control.aeLock
* control.awbLock

Change-Id: I911616c9cf3e0e9a03a0cb383bcf232cab8ca772
2014-07-11 12:59:50 -07:00
Igor Murashkin
7ee78d1ee3 camera2: (legacy) Implement AF/AE regions for request and result
* Also stop lying about max AE regions (now reports the truth)

Change-Id: I567a1e6c58ed0bfb77cc09787393ea18eba5d613
2014-07-11 12:59:49 -07:00
Sandeep
d701820031 Always on hotword changes
Add model management API skeleton to VoiceInteractionManagerService
Add an "interactor" for all always-on APIs

- The VoiceInteractionService will get an interactor for the given
  keyphrase and locale.
- It can then check the availability and call methods to start and
  stop recognition on this interactor.

- Add a common class to deal with SoundTrigger APIs

- Cleanup the keyphrase representation:
  We now have separate representations for the keyphrase metadata and
  a keyphrase being used for recognition.
  This'll also help us to handle custom keyphrases in the
  future easily.
  This also ensures that for use within the framework,
  we rely on the ID of the KeyphraseInfo rather than comparing the
  text everytime.

Add a callback for the AlwaysOnHotwordDetector

This callback should be passed in by the VoiceInteractionService and is used to notify it
of recognition events.

Change-Id: I26252298773024f53a10cdd2af4404a4e6d74aae
2014-07-10 18:32:37 -07:00
Eino-Ville Talvala
e1f57d6f44 Camera2: Add CPU/GPU overhead measurement to legacy mode
Dumps GL and CPU processing duration and frame timestamps to a file,
whenever the device is closed or the stream configuration is changed.

- Add PerfMeasurement class to legacy mode
- Wire up minimal usage to SurfaceTextureRenderer

Change-Id: Ic9d74ca26f706780b746175aa615c7aae4ae52e7
2014-07-10 23:49:07 +00:00
Ruben Brunk
47e91f2095 DNG: Implement remaining interface methods.
Bug: 15112503
Bug: 16206973
Bug: 15748139

- Adds remaining write methods.
- Adds GPS and description convenience methods.
- Unhides convenience methods.

Change-Id: I9535b21261027f6c06a041c1621de8f865a0ad32
2014-07-10 23:17:35 +00:00
Jinsuk Kim
c068bb5a04 Support HdmiControlService.sendKeyEvent for both TV/playback device
Added another parameter deviceType for HdmiControlService to
run the specified local device for sendKeyEvent.

Bug: 15844076
Change-Id: I598ef320ae94bba0ace38701ae0ca12fd0625559
2014-07-11 06:59:26 +09:00
destradaa
1c52d02679 Merge "Mark FLP constants as public, so they can be consumed by geofencing." 2014-07-10 21:14:09 +00:00
destradaa
17ff2b2b3a Mark FLP constants as public, so they can be consumed by geofencing.
Change-Id: I6e73692064a9f58eeac6ba1118c37ac500df0d9f
2014-07-10 12:41:11 -07:00
Ruben Brunk
52842e7a6f camera2: Add BlackLevelPattern class.
Bug: 15448889

- Adds BlackLevelPattern class and marshaller.
- Updates BlackLevelPattern tag to use this class.

Change-Id: I5d3393f4a1695664bc5315eb592fb0a4e154d22e
2014-07-10 19:57:16 +00:00
Eino-Ville Talvala
08bc3b0f02 Camera2: Update capabilities metadata
Change-Id: Ic2dc18f535cbc34a1504a6a746e7f7303fa6e839
2014-07-10 17:06:59 +00:00