/*
 * Copyright (C) 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.os;

import java.util.Map;


Java API for libvintf.
@hide
/** * Java API for libvintf. * @hide */
public class VintfObject { /// ---------- OTA
Slurps all device information (both manifests and both matrices) and report them. If any error in getting one of the manifests, it is not included in the list.
/** * Slurps all device information (both manifests and both matrices) * and report them. * If any error in getting one of the manifests, it is not included in * the list. */
public static native String[] report();
Verify that the given metadata for an OTA package is compatible with this device.
Params:
  • packageInfo – a list of serialized form of HalManifest's / CompatibilityMatri'ces (XML).
Returns:= 0 if success (compatible) > 0 if incompatible < 0 if any error (mount partition fails, illformed XML, etc.)
/** * Verify that the given metadata for an OTA package is compatible with * this device. * * @param packageInfo a list of serialized form of HalManifest's / * CompatibilityMatri'ces (XML). * @return = 0 if success (compatible) * > 0 if incompatible * < 0 if any error (mount partition fails, illformed XML, etc.) */
public static native int verify(String[] packageInfo);
Verify Vintf compatibility on the device without checking AVB (Android Verified Boot). It is useful to verify a running system image where AVB check is irrelevant.
Returns:= 0 if success (compatible) > 0 if incompatible < 0 if any error (mount partition fails, illformed XML, etc.)
/** * Verify Vintf compatibility on the device without checking AVB * (Android Verified Boot). It is useful to verify a running system * image where AVB check is irrelevant. * * @return = 0 if success (compatible) * > 0 if incompatible * < 0 if any error (mount partition fails, illformed XML, etc.) */
public static native int verifyWithoutAvb(); /// ---------- CTS Device Info
Returns:a list of HAL names and versions that is supported by this device as stated in device and framework manifests. For example, ["android.hidl.manager@1.0", "android.hardware.camera.device@1.0", "android.hardware.camera.device@3.2"]. There are no duplicates.
/** * @return a list of HAL names and versions that is supported by this * device as stated in device and framework manifests. For example, * ["android.hidl.manager@1.0", "android.hardware.camera.device@1.0", * "android.hardware.camera.device@3.2"]. There are no duplicates. */
public static native String[] getHalNamesAndVersions();
Returns:the BOARD_SEPOLICY_VERS build flag available in device manifest.
/** * @return the BOARD_SEPOLICY_VERS build flag available in device manifest. */
public static native String getSepolicyVersion();
Returns:a list of VNDK snapshots supported by the framework, as specified in framework manifest. For example, [("27", ["libjpeg.so", "libbase.so"]), ("28", ["libjpeg.so", "libbase.so"])]
/** * @return a list of VNDK snapshots supported by the framework, as * specified in framework manifest. For example, * [("27", ["libjpeg.so", "libbase.so"]), * ("28", ["libjpeg.so", "libbase.so"])] */
public static native Map<String, String[]> getVndkSnapshots();
Returns:target FCM version, a number specified in the device manifest indicating the FCM version that the device manifest implements. Null if device manifest doesn't specify this number (for legacy devices).
/** * @return target FCM version, a number specified in the device manifest * indicating the FCM version that the device manifest implements. Null if * device manifest doesn't specify this number (for legacy devices). */
public static native Long getTargetFrameworkCompatibilityMatrixVersion(); }