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
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
__
||
||
||
||---____-----+
|| \_/ |
|| /. .\ |
|| ||---|| |
|| |___| |
|| | | |
||---____-----+
||
||
||
_____________||_________________
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
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
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
Added another parameter deviceType for HdmiControlService to
run the specified local device for sendKeyEvent.
Bug: 15844076
Change-Id: I598ef320ae94bba0ace38701ae0ca12fd0625559
Bug: 15448889
- Adds BlackLevelPattern class and marshaller.
- Updates BlackLevelPattern tag to use this class.
Change-Id: I5d3393f4a1695664bc5315eb592fb0a4e154d22e
class Keyphrase: replaced number of users by list of user IDs.
class RecognitionEvent: added capture preamble duration.
class KeyphraseRecognitionEvent: add keyphrase ID and explicit list of
user ID/confidence level pairs.
startRecognition(): takes a RecognitionConfig specifying the list of
keyphrases to listen to as well as for each keyphrase the recognition mode,
users and min confidence levels for each user.
Bug: 12378680.
Change-Id: I57036cc83b5d9e90512b8bb3f951af3a4a74c0ce
- We use a DB to store and persist the sound models.
- This'll be used by SoundTriggerModelManager, a service that lists,
deletes and registers new models. This'll be used by the enrollment
client to enroll and unenroll users.
- This needs the unique identifiers for sound model & keyphrases to be
present in the respective data structures
This is very early stage so please point out any concerns.
Change-Id: I82962895bf326167458f20e6ba995295551de025
Intent action/extra for TV app to show a message on screen about events
HdmiControlService need to report for user's attention. The app
needs system permission HDMI_CEC to receive the intent.
Change-Id: I4fbe4621efa20a17ca64a3ca8f2df64bee03c51b
Vendor-specific commands are not handled by the service. This CL
opens an API for vendors to implement customized handling of
CEC commands specific to their needs.
Change-Id: I8bfa3b891bd7994a903b3b41d7c2b27464167afa
The device selection action should have stopped if
TV's own power goes to standby in the middle. This CL
implements the right behavior.
Some TODO's about OSD banner were removed as they
can be handled in caller (TV app) when invoking the API
or upon receiving the callback based on the result. One
more callback result constant was added accordingly.
Bug: 15843137
Bug: 15844312
Bug: 15845651
Change-Id: Ib118fd6e80e9abdfb531e3f321d8db1c9cec45bd
Most of the constants in HdmiCec are internal use only. Moved them
to service, and dispersed the rest to other relevant classes.
Also moved HdmiCecMessage class to service as it doesn't need to be
open ouside the service.
Change-Id: I7b2ce3bf465330aa4d7fcd05f9aefa1e6c8b056a
setProhibitMode sets a flag inside the service that indicates if
input switch request will be processed or not. Sets to true when
TV is doing something for which TV display should be fixed, like
channel scan, software update - collectively called 'prohibit mode'.
Change-Id: I8ac623023210b58b684b9af3ac475a5fe0d09435
Hdmi-Cec's system audio mode delegates audio control to
audio receiver from tv. It requires to delegate
volume change including mute to audio receiver
instead of consuming by tv.
In order to do this this change introduces three apis.
One is added to IAudioService, the others are added
to IHdmiControlService as hidden apis.
1. IAudioService#setHdmiSystemAudioSupported;
This is to notify system audio mode change to audio
service so that it determines to notify volume or mute
change to HdmiControlService.
2. IHdmiControlService#setSystemAudioVolume;
This is to notify volume change to HdmiControlService.
It's called only where system audio mode is on.
3. IHdmiControlService#setSystemAudioMute;
This is to notify volume change to HdmiControlService .
It's called only where system audio mode is on.
Change-Id: I3d8534b37ddf1a812e32012059a8778772044bf0