configstore: configstore HAL is up-revisioned to 1.1
This change provides a reference implementation of the configstore HAL v1.1. Bug: 37727469 Test: Built sailfish-userdebug and configstore-1.1 works Change-Id: I75e7fd1da8e90ae48d779a3ba28957c5a93a5529
This commit is contained in:
parent
33b92997c5
commit
812e85e126
12 changed files with 229 additions and 45 deletions
|
@ -55,3 +55,4 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/android.hardware.bl
|
|||
$(call add-clean-step, rm -rf $(OUT)/soong/.intermediates/)
|
||||
$(call add-clean-step, rm -rf $(OUT_DIR)/soong/.intermediates/hardware/interfaces/)
|
||||
$(call add-clean-step, rm -rf $(OUT_DIR)/soong/.intermediates/hardware/interfaces/)
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/system $(PRODUCT_OUT)/vendor -type f -name "android\.hardware\.configstore*" -print0 | xargs -0 rm -f)
|
|
@ -1,4 +0,0 @@
|
|||
service configstore-hal-1-0 /vendor/bin/hw/android.hardware.configstore@1.0-service
|
||||
class hal animation
|
||||
user system
|
||||
group system
|
60
configstore/1.1/Android.bp
Normal file
60
configstore/1.1/Android.bp
Normal file
|
@ -0,0 +1,60 @@
|
|||
// This file is autogenerated by hidl-gen. Do not edit manually.
|
||||
|
||||
filegroup {
|
||||
name: "android.hardware.configstore@1.1_hal",
|
||||
srcs: [
|
||||
"ISurfaceFlingerConfigs.hal",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "android.hardware.configstore@1.1_genc++",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.1",
|
||||
srcs: [
|
||||
":android.hardware.configstore@1.1_hal",
|
||||
],
|
||||
out: [
|
||||
"android/hardware/configstore/1.1/SurfaceFlingerConfigsAll.cpp",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "android.hardware.configstore@1.1_genc++_headers",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.1",
|
||||
srcs: [
|
||||
":android.hardware.configstore@1.1_hal",
|
||||
],
|
||||
out: [
|
||||
"android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h",
|
||||
"android/hardware/configstore/1.1/IHwSurfaceFlingerConfigs.h",
|
||||
"android/hardware/configstore/1.1/BnHwSurfaceFlingerConfigs.h",
|
||||
"android/hardware/configstore/1.1/BpHwSurfaceFlingerConfigs.h",
|
||||
"android/hardware/configstore/1.1/BsSurfaceFlingerConfigs.h",
|
||||
],
|
||||
}
|
||||
|
||||
cc_library_shared {
|
||||
name: "android.hardware.configstore@1.1",
|
||||
generated_sources: ["android.hardware.configstore@1.1_genc++"],
|
||||
generated_headers: ["android.hardware.configstore@1.1_genc++_headers"],
|
||||
export_generated_headers: ["android.hardware.configstore@1.1_genc++_headers"],
|
||||
vendor_available: true,
|
||||
shared_libs: [
|
||||
"libhidlbase",
|
||||
"libhidltransport",
|
||||
"libhwbinder",
|
||||
"liblog",
|
||||
"libutils",
|
||||
"libcutils",
|
||||
"android.hardware.configstore@1.0",
|
||||
],
|
||||
export_shared_lib_headers: [
|
||||
"libhidlbase",
|
||||
"libhidltransport",
|
||||
"libhwbinder",
|
||||
"libutils",
|
||||
"android.hardware.configstore@1.0",
|
||||
],
|
||||
}
|
78
configstore/1.1/Android.mk
Normal file
78
configstore/1.1/Android.mk
Normal file
|
@ -0,0 +1,78 @@
|
|||
# This file is autogenerated by hidl-gen. Do not edit manually.
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.configstore-V1.1-java
|
||||
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
||||
|
||||
intermediates := $(call local-generated-sources-dir, COMMON)
|
||||
|
||||
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
LOCAL_JAVA_LIBRARIES := \
|
||||
android.hardware.configstore-V1.0-java \
|
||||
android.hidl.base-V1.0-java \
|
||||
|
||||
|
||||
#
|
||||
# Build ISurfaceFlingerConfigs.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_1/ISurfaceFlingerConfigs.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.1::ISurfaceFlingerConfigs
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
include $(BUILD_JAVA_LIBRARY)
|
||||
|
||||
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.configstore-V1.1-java-static
|
||||
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
||||
|
||||
intermediates := $(call local-generated-sources-dir, COMMON)
|
||||
|
||||
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
LOCAL_STATIC_JAVA_LIBRARIES := \
|
||||
android.hardware.configstore-V1.0-java-static \
|
||||
android.hidl.base-V1.0-java-static \
|
||||
|
||||
|
||||
#
|
||||
# Build ISurfaceFlingerConfigs.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/configstore/V1_1/ISurfaceFlingerConfigs.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.configstore@1.1::ISurfaceFlingerConfigs
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
include $(BUILD_STATIC_JAVA_LIBRARY)
|
||||
|
||||
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
25
configstore/1.1/ISurfaceFlingerConfigs.hal
Normal file
25
configstore/1.1/ISurfaceFlingerConfigs.hal
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright (C) 2017 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.1 (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.1
|
||||
*
|
||||
* 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.hardware.configstore@1.1;
|
||||
|
||||
import @1.0::ISurfaceFlingerConfigs;
|
||||
|
||||
/**
|
||||
* New revision of ISurfaceFlingerConfigs
|
||||
*/
|
||||
|
||||
interface ISurfaceFlingerConfigs extends @1.0::ISurfaceFlingerConfigs {
|
||||
};
|
|
@ -2,17 +2,18 @@ LOCAL_PATH := $(call my-dir)
|
|||
|
||||
################################################################################
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.configstore@1.0-service
|
||||
LOCAL_MODULE := android.hardware.configstore@1.1-service
|
||||
LOCAL_PROPRIETARY_MODULE := true
|
||||
LOCAL_MODULE_CLASS := EXECUTABLES
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_INIT_RC := android.hardware.configstore@1.0-service.rc
|
||||
LOCAL_INIT_RC := android.hardware.configstore@1.1-service.rc
|
||||
LOCAL_SRC_FILES:= service.cpp
|
||||
|
||||
include $(LOCAL_PATH)/surfaceflinger.mk
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
android.hardware.configstore@1.0 \
|
||||
android.hardware.configstore@1.1 \
|
||||
libhidlbase \
|
||||
libhidltransport \
|
||||
libbase \
|
|
@ -1,14 +1,29 @@
|
|||
#include "SurfaceFlingerConfigs.h"
|
||||
/*
|
||||
* Copyright (C) 2017 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.1 (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.1
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include <android-base/logging.h>
|
||||
#include "SurfaceFlingerConfigs.h"
|
||||
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace configstore {
|
||||
namespace V1_0 {
|
||||
namespace V1_1 {
|
||||
namespace implementation {
|
||||
|
||||
// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
|
||||
// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs
|
||||
// follow.
|
||||
Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) {
|
||||
#ifdef VSYNC_EVENT_PHASE_OFFSET_NS
|
||||
_hidl_cb({true, VSYNC_EVENT_PHASE_OFFSET_NS});
|
||||
|
@ -36,7 +51,8 @@ Return<void> SurfaceFlingerConfigs::useContextPriority(useContextPriority_cb _hi
|
|||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SurfaceFlingerConfigs::maxFrameBufferAcquiredBuffers(maxFrameBufferAcquiredBuffers_cb _hidl_cb) {
|
||||
Return<void> SurfaceFlingerConfigs::maxFrameBufferAcquiredBuffers(
|
||||
maxFrameBufferAcquiredBuffers_cb _hidl_cb) {
|
||||
#ifdef NUM_FRAMEBUFFER_SURFACE_BUFFERS
|
||||
_hidl_cb({true, NUM_FRAMEBUFFER_SURFACE_BUFFERS});
|
||||
#else
|
||||
|
@ -72,13 +88,14 @@ Return<void> SurfaceFlingerConfigs::hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) {
|
|||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SurfaceFlingerConfigs::presentTimeOffsetFromVSyncNs(presentTimeOffsetFromVSyncNs_cb _hidl_cb) {
|
||||
Return<void> SurfaceFlingerConfigs::presentTimeOffsetFromVSyncNs(
|
||||
presentTimeOffsetFromVSyncNs_cb _hidl_cb) {
|
||||
#ifdef PRESENT_TIME_OFFSET_FROM_VSYNC_NS
|
||||
_hidl_cb({true, PRESENT_TIME_OFFSET_FROM_VSYNC_NS});
|
||||
_hidl_cb({true, PRESENT_TIME_OFFSET_FROM_VSYNC_NS});
|
||||
#else
|
||||
_hidl_cb({false, 0});
|
||||
_hidl_cb({false, 0});
|
||||
#endif
|
||||
return Void();
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SurfaceFlingerConfigs::useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl_cb) {
|
||||
|
@ -91,14 +108,14 @@ Return<void> SurfaceFlingerConfigs::useHwcForRGBtoYUV(useHwcForRGBtoYUV_cb _hidl
|
|||
}
|
||||
|
||||
Return<void> SurfaceFlingerConfigs::maxVirtualDisplaySize(maxVirtualDisplaySize_cb _hidl_cb) {
|
||||
uint64_t maxSize = 0;
|
||||
uint64_t maxSize = 0;
|
||||
#ifdef MAX_VIRTUAL_DISPLAY_DIMENSION
|
||||
maxSize = MAX_VIRTUAL_DISPLAY_DIMENSION;
|
||||
_hidl_cb({true, maxSize});
|
||||
maxSize = MAX_VIRTUAL_DISPLAY_DIMENSION;
|
||||
_hidl_cb({true, maxSize});
|
||||
#else
|
||||
_hidl_cb({false, maxSize});
|
||||
_hidl_cb({false, maxSize});
|
||||
#endif
|
||||
return Void();
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SurfaceFlingerConfigs::useVrFlinger(useVrFlinger_cb _hidl_cb) {
|
||||
|
@ -122,8 +139,13 @@ Return<void> SurfaceFlingerConfigs::startGraphicsAllocatorService(
|
|||
return Void();
|
||||
}
|
||||
|
||||
// Methods from ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs
|
||||
// follow.
|
||||
|
||||
// Methods from ::android::hidl::base::V1_0::IBase follow.
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V1_0
|
||||
} // namespace V1_1
|
||||
} // namespace configstore
|
||||
} // namespace hardware
|
||||
} // namespace android
|
|
@ -1,31 +1,26 @@
|
|||
#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H
|
||||
#define ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H
|
||||
#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H
|
||||
#define ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H
|
||||
|
||||
#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h>
|
||||
#include <android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h>
|
||||
#include <hidl/MQDescriptor.h>
|
||||
#include <hidl/Status.h>
|
||||
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace configstore {
|
||||
namespace V1_0 {
|
||||
namespace V1_1 {
|
||||
namespace implementation {
|
||||
|
||||
using ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs;
|
||||
using ::android::hardware::configstore::V1_0::OptionalBool;
|
||||
using ::android::hidl::base::V1_0::IBase;
|
||||
using ::android::hardware::hidl_array;
|
||||
using ::android::hardware::hidl_memory;
|
||||
using ::android::hardware::hidl_string;
|
||||
using ::android::hardware::hidl_vec;
|
||||
using ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs;
|
||||
using ::android::hardware::Return;
|
||||
using ::android::hardware::Void;
|
||||
using ::android::sp;
|
||||
|
||||
struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs {
|
||||
// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
|
||||
// Methods from
|
||||
// ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
|
||||
Return<void> vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) override;
|
||||
Return<void> vsyncSfEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) override;
|
||||
Return<void> vsyncSfEventPhaseOffsetNs(vsyncSfEventPhaseOffsetNs_cb _hidl_cb) override;
|
||||
Return<void> useContextPriority(useContextPriority_cb _hidl_cb) override;
|
||||
Return<void> hasWideColorDisplay(hasWideColorDisplay_cb _hidl_cb) override;
|
||||
Return<void> hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) override;
|
||||
|
@ -35,17 +30,18 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs {
|
|||
Return<void> hasSyncFramework(hasSyncFramework_cb _hidl_cb) override;
|
||||
Return<void> useVrFlinger(useVrFlinger_cb _hidl_cb) override;
|
||||
Return<void> maxFrameBufferAcquiredBuffers(maxFrameBufferAcquiredBuffers_cb _hidl_cb) override;
|
||||
Return<void> startGraphicsAllocatorService(
|
||||
startGraphicsAllocatorService_cb _hidl_cb) override;
|
||||
Return<void> startGraphicsAllocatorService(startGraphicsAllocatorService_cb _hidl_cb) override;
|
||||
|
||||
// Methods from
|
||||
// ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs follow.
|
||||
|
||||
// Methods from ::android::hidl::base::V1_0::IBase follow.
|
||||
|
||||
};
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V1_0
|
||||
} // namespace V1_1
|
||||
} // namespace configstore
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H
|
||||
#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H
|
|
@ -0,0 +1,4 @@
|
|||
service configstore-hal /vendor/bin/hw/android.hardware.configstore@1.1-service
|
||||
class hal animation
|
||||
user system
|
||||
group system
|
|
@ -1,11 +1,11 @@
|
|||
/*
|
||||
* Copyright (C) 2017 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* Licensed under the Apache License, Version 2.1 (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
|
||||
* http://www.apache.org/licenses/LICENSE-2.1
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -14,17 +14,17 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "android.hardware.configstore@1.0-service"
|
||||
#define LOG_TAG "android.hardware.configstore@1.1-service"
|
||||
|
||||
#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h>
|
||||
#include <android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h>
|
||||
#include <hidl/HidlTransportSupport.h>
|
||||
|
||||
#include "SurfaceFlingerConfigs.h"
|
||||
|
||||
using android::hardware::configureRpcThreadpool;
|
||||
using android::hardware::joinRpcThreadpool;
|
||||
using android::hardware::configstore::V1_0::ISurfaceFlingerConfigs;
|
||||
using android::hardware::configstore::V1_0::implementation::SurfaceFlingerConfigs;
|
||||
using android::hardware::configstore::V1_1::ISurfaceFlingerConfigs;
|
||||
using android::hardware::configstore::V1_1::implementation::SurfaceFlingerConfigs;
|
||||
using android::sp;
|
||||
using android::status_t;
|
||||
using android::OK;
|
|
@ -2,5 +2,6 @@
|
|||
subdirs = [
|
||||
"1.0",
|
||||
"1.0/vts/functional",
|
||||
"1.1",
|
||||
"utils",
|
||||
]
|
||||
|
|
Loading…
Reference in a new issue