History log of /system/libvintf/include/vintf/HalManifest.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
13d12186a0c49a10bff1dc47c3fe0437fcfa1f67 22-May-2017 Yifan Hong <elsk@google.com> Do not allow duplicated major version across <hal> in manifests

<hal> entries has to be grouped by versions. Otherwise, if
<transport> is different in two <hal> entries with the same
<name> and <version>, getTransport always return the first match.

As a side effect, fixes an incorrect behavior in
HalManifest::isCompatible that test for <instance> tags across two
<hal>'s with the same name and version (because it shouldn't occur
at all). This incorrect behavior is hidden under an
EXPECT_FALSE in libvintf_test. Now that this is never allowed,
the test is changed to EXPECT_TRUE.

Test: libvintf_test
Change-Id: I10d4619f3828bf695485938c315c73a924ba6340
Fixes: 38502835
/system/libvintf/include/vintf/HalManifest.h
685ce898962e83f09c0b7eaf079a6542b71e7f3d 18-May-2017 Yifan Hong <elsk@google.com> Rework compat check of ManifestHal vs. MatrixHal

<interface> and <instance> in a compatibility-matrix.hal
also needs to be checked in a manifest.hal. Specifically,
all instances specified in compatibility-matrix.hal
must be present in manifest.hal, although they can span
across different tag elements. See tests for samples.

For details, see:

go/android-treble-vintf-object

Test: libvintf_test
Test: vintf_object_test
Bug: 38395193
Change-Id: Ia009c5a1d779818594efc4c7f485d9fe4f23ed55
/system/libvintf/include/vintf/HalManifest.h
91caff87bf1acb0e8a4f75c6b07ab0cd798476d4 04-May-2017 Yifan Hong <elsk@google.com> libvintf: add API for EDI

Add APIs for EDI (extensive device info).

Test: CtsDeviceInfo
Bug: 28656227
Change-Id: I40e1f79747d13e1671626f401067fc00fd28f957
/system/libvintf/include/vintf/HalManifest.h
1412bdade0e48de3c1b3b276400462866e9f9a78 19-Apr-2017 Yifan Hong <elsk@google.com> Create a way to easily generate a compatibility matrix.

Test: BOARD_SEPOLICY_VERS=10000.0 assemble_vintf -i
device/.../.../manifest.xml -m
Test: assemble_vintf -i system/libhidl/manifest.xml -m

Bug: 33633372
Bug: 37321309

Change-Id: I9b786040cff70cfcb495078f4277b6aae1b56ba5
Merged-In: I9b786040cff70cfcb495078f4277b6aae1b56ba5
/system/libvintf/include/vintf/HalManifest.h
05b3096a73500502082c986cc06f443c38ceffd1 18-Apr-2017 Yifan Hong <elsk@google.com> Expose getHals and hide getAnyHal for HalManifest.

Bug: 37311367
Test: lshal --init-vintf
Change-Id: I82d4da1da2e8143d355aaca9192641dd79273a06
Merged-In: I82d4da1da2e8143d355aaca9192641dd79273a06
/system/libvintf/include/vintf/HalManifest.h
143cfe6aa1e257f200829c903be67ed73d141ab2 14-Apr-2017 Yifan Hong <elsk@google.com> Implement VintfObject::CheckCompatibility.

Test: libvintf_test

Bug: 36814503 libvintf Java API
Bug: 36126928 create tests for HalManifest::checkIncompatibility

Change-Id: I1ea9b6030a068623742d23f38d287b01946f2fc8
/system/libvintf/include/vintf/HalManifest.h
28749385d690189e0f11ebd6d24c3259b28dc7ec 13-Apr-2017 Yifan Hong <elsk@google.com> HalManifest check against CompatibilityMatrix

Add test for framework compatibility matrix check against
device hal manifest.

Bug: 36126928 VINTF: create tests for HalManifest::checkIncompatibility
Test: libvintf_test

Change-Id: I8ebf3a2891aa0f8f24c68930499047652309e36c
/system/libvintf/include/vintf/HalManifest.h
fe8a551232e33d83ccf5f9e067e8a764c8fddb6d 13-Apr-2017 Yifan Hong <elsk@google.com> Allow multiple hal entries with the same name.

Also remove "default" from HalManifest::getInstances.

Bug: 36570950 VINTF: should not assume "default" service names
Bug: 37294247 VINTF: allow multiple entries in <manifest> and
<compatibility-matrix> to have the same name

Test: libvintf_test

Change-Id: I9c288ef2a530db800220a303ca7ca39a7ea5a3df
/system/libvintf/include/vintf/HalManifest.h
4a4445dfc243c72c18c1f8199fb8eeb4e9a92a03 13-Apr-2017 Yifan Hong <elsk@google.com> Removed unused clear().

Removed it from CompatibilityMatrix, HalManifest
and RuntimeInfo.

Test: pass
Bug: 34620633
Change-Id: Ie91717dae09cacf974e43827657154055841b39a
/system/libvintf/include/vintf/HalManifest.h
5cbe44f5762b3f334c468693276c332bcd3b961d 06-Apr-2017 Yifan Hong <elsk@google.com> Add operator==

To compatibilityMatrix, HalManfiest, Vndk, Sepolicy.
This is much easier for testing.

Test: libvintf_test
Change-Id: I6ca64b2ddcb6c14c200ba0348863266c078a29c3
/system/libvintf/include/vintf/HalManifest.h
57b7f0c0360b2603e348ffa5892438754041a95d 05-Apr-2017 Yifan Hong <elsk@google.com> Add <vndk> entry to framework manifest and device comp-mat.

Bug: 36400653

Test: libvintf_test
Change-Id: Ie727d4806ad74a72511354a901fca09ea9ae67c4
/system/libvintf/include/vintf/HalManifest.h
d19539c0858b168e6417a7eb88c1f47a388652f2 05-Apr-2017 Yifan Hong <elsk@google.com> Add <sepolicy> tag to HalManifest.

Test: libvintf_test

Bug: 36456394

Change-Id: If85aabc87c42d5afbe3b230dde8b3cbe8fbd8eb6
/system/libvintf/include/vintf/HalManifest.h
f3a68574718c38ef9445f1cf49104a6130c5b23a 05-Apr-2017 Yifan Hong <elsk@google.com> Add manifest/compatibility-matrix.type attribute

to distinguish device and framework HAL manifest, and
device and framework compatibility matrix.

Add .device / .framework entries to HalManifest and
CompatibilityMatrix class for device-only / fwk-only
entries. Access to these fields should be guarded with
a check to mType.

Test: libvintf_test
Test: boots
Change-Id: Id9c93c1e6bb585234a9ae6d9296f5a10582ef58f
/system/libvintf/include/vintf/HalManifest.h
d014394222455eae21d9805b6b4c6c0c6d42304e 25-Mar-2017 Tri Vo <trong@google.com> Add getHalNames and getInterfaceNames functions to HalManifest.

getHalNames returns all hal names in vintf.
getInterfaceNames returns all interface names of a given hal.

Test: mmma system/libvintf
Change-Id: I83147179eecbea299304305b68f119eb18f096a6
/system/libvintf/include/vintf/HalManifest.h
21a602a41280e1b0defe60be016476f67791c789 01-Mar-2017 Yifan Hong <elsk@google.com> getTransport checks interface and instance names.

If <interface> is missing from the manifest, it returns
<transport> only if instanceName == "default", and EMPTY
otherwise.

Bug: 35219444
Test: hidl_test
Test: camera, soundtrigger works on marlin
Test: video playback works on marlin
Change-Id: I30494efa0bb4c4cddadc3b297cd3bf9dd2e3e55e
/system/libvintf/include/vintf/HalManifest.h
7c86b834a31dd3b675acf6603639c95962e1df14 01-Mar-2017 Yifan Hong <elsk@google.com> Expose modify API for HalManifest to construct programatically.

Test: lshal --init-vintf
Change-Id: I43639d7e59eff1e4e89c25653908dbcc2daf0659
/system/libvintf/include/vintf/HalManifest.h
3daec8116236a720edf3349b59470e41dd6c1056 28-Feb-2017 Yifan Hong <elsk@google.com> Add VintfObject as the top level API.

VintfObject has:
GetDeviceHalManifest (replace HalManifest::Get)
GetRuntimeInfo (replace RuntimeInfo::Get)
GetFrameworkHalManifest

Test: vintf
Test: libvintf_test
Change-Id: I6c1f0e6af0ea323054102bf713667c23dbc10972
/system/libvintf/include/vintf/HalManifest.h
ec3b9b7cf729c8cc47421dcc316d7b2d1f37c2ff 23-Feb-2017 Yifan Hong <elsk@google.com> Add manifest.hal.interface entry

that looks like follows:

<interface>
<name>IBluetooth</name>
<instance>legacy/0</instance>
<instance>default</instance>
</interface>

If an entry doesn't exist it is default to "default" instance.

HalManfiest.getInstances and hasInstance is the API
to query these elements.

Test: libvintf_test
Bug: 35219444
Change-Id: Ic4402152c6d44c2c57c7ef1ba6ab6194ad7842f2
/system/libvintf/include/vintf/HalManifest.h
89eb525ef6293b22e543ca981faf1c50fdab5836 24-Feb-2017 Yifan Hong <elsk@google.com> Minimize public interface.

HalManifest should not expose ManifestHal; CompatibilityMatrix should
not expose MatrixHal.

Also update comments in HalManfiest and ManfiestHal.

Bug: 34620633
Test: pass
Change-Id: If7c72fe3ace8e9c4b54e58bed10d9b741d79dac1
/system/libvintf/include/vintf/HalManifest.h
d2b7e64894cd739da60f129ac38d0cf035238206 17-Feb-2017 Yifan Hong <elsk@google.com> vintf: VendorManifest -> HalManifest

VendorManifest is an old name and is changed
to HalManifest long ago in relavant documentation.
It merely consist of a list of "HALs" and doesn't
contain any runtime collectible information.

Test: mma
Test: libvintf_test

Change-Id: Iba78128c194a3efc34371b686943266829d8e33c
/system/libvintf/include/vintf/HalManifest.h