Add a keymaster parameter for keys that should be inaccessible when
the device screen is locked. "Locked" here is a state where the device
can be used or accessed without any further trust factor such as a
PIN, password, fingerprint, or trusted face or voice.
This parameter is added to the Java keystore interface for key
creation and import, as well as enums specified by and for the native
keystore process.
Test: go/asym-write-test-plan
Bug: 67752510
Change-Id: Ic1ec3bde05f8a28e20b9443b7f0078749921f297
- Add an array of physical camera ids and metadata when physical
cameras are requested within a logical multi-camera.
- Physical camera ids and metadata are only necessary for the final
capture_results, not the partial result.
- Physical camera ids and metadata must not be populated if no physical
camera is requested.
Test: Compile
Bug: 64691172
Change-Id: I78b20fe3d0c6462abf95b8fe7e3b4c66b3acefdf
This patch adds the struct of float color, and setLayerFloatColor API so that
SurfaceFlinger can set the layer color with more bits on each channel.
Currently the display calibration tool require 10-bits support.
BUG: 69970838
Test: make locally and applied on device
Change-Id: I8bab335cc4fbc41a3eb18306a8831d1e9a9a219a
audio.h and its dependencies (audio-effect.h, sound_trigger.h...)
used to be shared between system and vendor code.
This led to multiple problems:
1) Such sharing contradicts the Treble policy of
strict independence of framework and vendor code.
2) When audio.h was changed, every vendor needed to update
its code in the next release. This meant that audio*.h
headers were mostly changed in backward compatible manner.
Nevertheless, for P the HIDL interface and thus the audio.h
interface are changed in backward incompatible way.
(Some enum are becoming 64 bit long).
3) As the headers were common, some API used only by the framework
needed to be visible to the vendors (mostly enum values).
4) Treble policy is to support at least one previous HAL version
As a result the audio*.h headers are now duplicated,
one set for the framework, and one for the vendor.
Each set will evolve independently. After this split,
the framework-only APIs will be removed from the vendor headers
and vice versa.
The split is implements as such:
+ for system code
- NOT moving the libaudio_system_headers
Eg: system/audio.h and system/audio_effects/effect_equalizer.h
are still in system/media/audio
- the legacy audio HAL API that were in libhardware headers
are now in libaudiohal_legacy_headers
Eg: hardware/audio.h and hardware/audio_effect.h
are now in frameworks/av/media/libaudiohal/legacy/
+ for vendor code
- moving libaudio_system_headers and the legacy audio HAL API
that were in libhardware_headers in
android.hardware.audio.common.legacy@2.0
Note that those headers are now versioned, so migrating to a @4.0
HIDL HAL will mean changing the legacy dependency too.
Eg: system/audio.h, system/audio-effect.h, hardware/audio.h
are now in hardware/interfaces/audio/common/2.0/legacy
- the legacy audio effect HAL API that was in libaudioeffects
is now moved in android.hardware.audio.effect.legacy@2.0
Eg: audio_effects/effect*.h are now in
hardware/interfaces/audio/effect/2.0/legacy
- the legacy sound trigger HAL API that were in libhardware_headers
is now moved in android.hardware.soundtrigger.legacy@2.0
Eg: hardware/sound_trigger.h is now in
hardware/interfaces/audio/effect/2.0/legacy
libaudioutil being used by both system and vendor, had
to be renamed for system to libaudioutil_system.
Vendor libs that now depend on the audio.h of a specific
version and are not extensively referenced in non google code,
append @2.0 to their name.
Note that headers that are not expected to change in the 4.0 HAL are
left in all-versions folder to avoid duplication.
This is an implementation detail as the versioned libraries export
the all-versions headers.
Note that strict vendor-system separation is enforced by the
build-system. The system headers are not available for vendor
libs and vice-versa.
Note that this patch is split between numerous git repository (>10),
all the commits having the same Change-id for searchability.
Note that audio_policy.h is no longer exposed to vendors
as the legacy audio policy HAL API was never officially supported.
As a result the audiopolicy stub implementation has been removed.
Test: compile taimen-userdebug walleye-userdebug
sailfish-userdebug marlin-userdebug
gce_x86_phone-userdebug gce_x86_phone
full-eng aosp_arm aosp_x86-eng
Test: check that the emulator booted and played audio
Test: full QA on sailfish-userdebug and taimen-userdebug
Bug: 38184704
Change-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a
Signed-off-by: Kevin Rocard <krocard@google.com>
The legacy camera 3.5 API should allow clients to set individual
settings for specific physical cameras that are part of
a logical multi-camera. 'camera3_capture_request_t' must
include additional arrays containing the required settings
and corresponding camera ids.
Test: Manual using camera application,
camera_client_test
Bug: 64691172
Change-Id: I634f1d5b87a6d97c5a35b8ea633c7a6c22793eaf
- Add ability to specify the camera id to which a particular camera3_stream belongs.
- Update documentation about the camera characteristics of logical camera.
Test: Camera2.apk and GoogleCamera.apk
Bug: 64691172
Change-Id: Ie2e235e8bc8124596785db8dad25549bec4232aa
AndroidKeymaster depends on keymaster_defs and needs the new
purpose for secure key import.
Test: system/keymaster/tests/android_keymaster_tests
Change-Id: I8ab6d9756689342bc5865861c89c5ccc87179454
This version update adds support for session keys and
session parameters.
Bug: 64450664
Test: Camera CTS
Change-Id: Id14dbde5083c974b86b942dfd6e904dbe85e0ee5
Currently, we have few different representations for UUID in stack:
tBT_UUID, tSDP_UUID, bt_uuid_t, bluetooth:UUID, or uint8_t*.
Additionally, tBT_UUID and bt_uuid_t are used to hold UUID as 128bit
as Little Endian or Big Endian, depending on which part of stack (GATT
or SDP) is using it.
This patch is creating one type, bluetooth::Uuid, that will replace all
other types.
Bug: 66912853
Test: all sl4a tests for GATT and RFCOMM
Change-Id: Ic9048a6c1f32a16034485b6185f5349e6bac0ff6
One must explicitly include what it need.
time.h for clock_gettime
float.h for FLT_MAX
string.h for memset
Bug: 37629934
Test: build
Merged-In: I1030a9c9ff3c2de4c5febabc3064d6976e9535cf
Change-Id: I5a8fd84a10aeeab2258f78a0ac992de0afa33d00
One must explicitly include what it need.
time.h for clock_gettime
float.h for FLT_MAX
string.h for memset
Bug: 37629934
Test: build
Change-Id: I1030a9c9ff3c2de4c5febabc3064d6976e9535cf
Sensor events can be generated even after completion of sensor deactivation
request so the correct time to abandon the stale events is before making new
activation request instead after sensor deactivation request.
For example: In data injection mode which make sensor deactivation request,
sensor events are generated in sensor deactivation state. These events may
not have been picked up by poll before completion of switching to normal mode.
So it is necessary to abandon stale events at the time of activation request
so that in normal mode, application will not get injected events generated
during data injection mode.
Test: Inject sensor events at fastest possible sensor rate in data injection
mode and check whether there is any injected event received by application
after switching to normal mode.
Change-Id: I3a2c8a76946569a12e9416ac20ad2389f914d6e2
Signed-off-by: Aniroop Mathur <a.mathur@samsung.com>
Define that the first two previously-reserved bytes in the nanoapp
header are used to indicate the target CHRE API version.
Bug: 64852297
Test: run CHQTS on Nanohub, rebuild test app targeting 1.2 and confirm
it's interpreted correctly
Change-Id: I0582f718bb641cc9c4e1f013578dc2dd50e6d3ec
* Opportunistic GATT connection allows system service to subscribe to
characteristic notifications without holding the BLE connection
* Exposing this flag to Java allows Android applications to use it
Bug: 35874078
Test: make, test on Android App
Change-Id: If4683b2281d743dacdece6b08db49ec539af3b18
* Add libbluetooth-types - library containing types implementation, that
is common between stystem/bt and packages/apps/Bluetooth. It must be
included in every project using btif interface.
* Put Raw Address implementation into libbluetooth-types
* Unify all "to/from string" helper methods into ToString and FromString
* bd_addr_empty -> RawAddress::kEmpty
* bd_addr_any -> RawAddress::kAny
Also fix leaks in jni str2addr by adding ReleaseStringUTFChars
Test: types_unittest
Change-Id: I2a0eb8d50ff777f494eed26bd58b5c502d2a0716
Merged-In: I2a0eb8d50ff777f494eed26bd58b5c502d2a0716
This allows to get rid of some unnecessary null checks, and guarantee
proper values are passed.
Test: compilation test
Change-Id: Id5508477809a5c0b038eed71403a8bf93bd03203
This patch moves LE2M implementation to the DM instead of tied to GATT.
Below are the reasons to make this change:
1) Per link setting usually be done under DM, such as link policy etc.
2) In the future, if LECOC is coming to use in more profile/apps,
we can not rely on GATT API for these. Separate API should be required.
3) we could have multiple logical GATT user on top of the same link.
4) Also this will avoid duplicating all the APIs on GATTC and GATTS.
Bug: 37586939
Test: manual
Change-Id: I71579d6160fb16fb891e75cca64fe3cf9745116a
* Some PTS tests requires protocols and profiles to be accessed at stack
API level
* This CL creates an ID for the MCAP protocol
* An application must be able to reference stack headers in order to use
such an interface
Bug: 37867299
Test: make, no user visible effect
Change-Id: Ice654321cdeb11f93b1c8fc4a0753fe86bd82a56
(cherry picked from commit 9213f5b043)
* Some PTS tests requires protocols and profiles to be accessed at stack
API level
* This CL creates an ID for the MCAP protocol
* An application must be able to reference stack headers in order to use
such an interface
Bug: 37867299
Test: make, no user visible effect
Change-Id: Ice654321cdeb11f93b1c8fc4a0753fe86bd82a56
Provides an interface for application to send Set Idle
and Get Idle commands to remote HID Device. Support for these
two commands was missing from existing code, so existing code
design is reused to add support for these two commands.
Without this support following mandatory PTS test cases for HID 1.0
cannot be passed, TC_HOS_HID_BV_05/06
Test: Executed PTS tests TC_HOS_HID_BV_05/06 and confirmed if they can
pass
Bug: 34344715
Change-Id: I4c528a510edd847bc6121ce0b875ae313f090b9c
Limit btsnoop file size by rotating between snoop files. The rotation occurrs
when a fixed number of packets have been logged and will start overwriting
the older file.
Bug: 35998031
Test: Enable snoop logs from developer options and let logs get large
Merged-In: Ic43600b10435d34a0528e28bd523187a6c311f61
Change-Id: Ic43600b10435d34a0528e28bd523187a6c311f61
This patchset adds a hidden method getOwnAddress, that lets app with
BLUETOOTH_PRIVILEGED permission to lear their own addreess. This is done
exclusively for PTS tests.
Bug: 35147497
Test: manual
Change-Id: I39a6395d589d0ea801fd771bf3313ed6212a6349
(cherry picked from commit 788847a61a)
Add a hidden api for reading characteristic by UUID for PTS.
Bug: 35150313
Test: sl4a GattReadTest.byUuid
Change-Id: Ia429895abf38b504975af5d53ec4c5adf5a01a9d
(cherry picked from commit f6833f45c3)
Limit btsnoop file size by rotating between snoop files. The rotation occurrs
when a fixed number of packets have been logged and will start overwriting
the older file.
Bug: 35998031
Test: Enable snoop logs from developer options and let logs get large
Merged-In: Ic43600b10435d34a0528e28bd523187a6c311f61
Change-Id: Ic43600b10435d34a0528e28bd523187a6c311f61
Limit btsnoop file size by rotating between snoop files. The rotation occurrs
when a fixed number of packets have been logged and will start overwriting
the older file.
Bug: 35998031
Test: Enable snoop logs from developer options and let logs get large
Change-Id: Ic43600b10435d34a0528e28bd523187a6c311f61
This patchset adds a hidden method getOwnAddress, that lets app with
BLUETOOTH_PRIVILEGED permission to lear their own addreess. This is done
exclusively for PTS tests.
Bug: 35147497
Test: manual
Change-Id: I39a6395d589d0ea801fd771bf3313ed6212a6349
Add a hidden api for reading characteristic by UUID for PTS.
Bug: 35150313
Test: sl4a GattReadTest.byUuid
Change-Id: Ia429895abf38b504975af5d53ec4c5adf5a01a9d
Ensuring that the LLOB sensos naming style is consistent with other
sensor naming styles.
Bug: 36554362
Test: Verify that the sensor shows up with the appropriate name
string.
Change-Id: Ic91d13e7c1c6652179d3259509682f3c19cd89dc
* Update init to accept inband_ringing_supported flag
Bug: 19171297
Test: mm -j 40, regression on HFP, testplans/82144
Change-Id: I3bbf8e370ffb4d893c4bb6ad0d3c09ef3f00d6bd
(cherry picked from commit 5c1ac6882c)
* Update init to accept inband_ringing_supported flag
Bug: 19171297
Test: mm -j 40, regression on HFP, testplans/82144
Change-Id: I3bbf8e370ffb4d893c4bb6ad0d3c09ef3f00d6bd
This interface has been removed in favor of the EVS HAL in
hardware/interfaces/automotive/evs
Test: build tree
Bug: 36900851
Topic: RetireVehicleCamera
Change-Id: I1594839ce86d860c4aad6f4d0d922505311ab3c1
(cherry picked from commit d49b3655e3)
Expose both duration and maximum extended advertising events to limit
advertising time.
Test: manual
Bug: 30622771
Change-Id: Id5a7246b1d3e937d5c462315c157b320d659a52d
(cherry picked from commit dd3e64f258)
This patch wires calls/callbacks through stack to prepare for actual
implementation.
Test: manual
Bug: 30622771
Change-Id: I30ed67e9975d5207bbe037328e4d7cbdcaf69e5c
(cherry picked from commit 5a074af6b8)
Expose both duration and maximum extended advertising events to limit
advertising time.
Test: manual
Bug: 30622771
Change-Id: Id5a7246b1d3e937d5c462315c157b320d659a52d
This patch wires calls/callbacks through stack to prepare for actual
implementation.
Test: manual
Bug: 30622771
Change-Id: I30ed67e9975d5207bbe037328e4d7cbdcaf69e5c
For whitelist connections we always use all possible PHYs, for direct
connection use PHY specified by client.
Test: manual
Bug: 30622771
Change-Id: I13242608385230371e8a9170fc21e3f1b0a74c78
Specify the HAL behavior when stream usage flag is combination for
multiple consumers.
Test: Compile
Bug: 33777818
Change-Id: If11de5d249b1a8366dad7ec14e5e35f9cfc06ce4
Discussions have shown that in addition to brand, device and product,
we should also allow devices to attest their manufacturer and model.
Bug: 36433192
Test: GTS com.google.android.gts.security.DeviceIdAttestationHostTest
Change-Id: I126003420a93241e04bf18ee7ff8e6aefa5599a8
This patch wires up fist methods of AdvertisingSet, making it possible
to start advertising and stop advertising. It also replaces legacy
implemementation with calls to new implementation.
Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: I4a2739528fe114547f747d9719a4d47de7ce5589
Now cameraservice only sends one shutter notify and capture result to
the application per batch. Update the HAL interface doc to reflect this.
Test: Compiles
Bug: 35775704
Change-Id: I290ef93f842f4a02e5bdaeb0e50298f79fcef602
Wire the new feature check API to actual values received from the
controller.
Test: manual
Bug: 30622771
Change-Id: I76d373b94fd3d4d637ddae637a8424d463286837
The remaining four native callbacks need more internal refactoring
before they can be turned into a callbacks.
Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I5aea0485c88605d34ccf8e0a27202469bb5c0ff4
fixes bug 35358801
Test: ran enumeration in template with
1) more fingerprints in fingerprintd
2) more fingerprints in framework
3) no fingerprints in fingerprintd, but fingerprints in framework
4) no fingerprints in framework, but fingerprints in fingerprintd
Change-Id: Id150f0225d597939cf1af6bac218fe0fdeeca93d