summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Stefani <luca.stefani.ge1@gmail.com>2018-07-10 08:40:48 +0200
committerBruno Martins <bgcngm@gmail.com>2018-12-26 18:01:56 +0000
commit8f2fcfc832a469cc48655a9f874ddc844f9e9c73 (patch)
treef9d7325e113bff0842a770c5b1a4640a34b19b0f
parent4d2eae696430c1a98a7010138b22630dcac6590e (diff)
downloadandroid_hardware_lineage_interfaces-8f2fcfc832a469cc48655a9f874ddc844f9e9c73.tar.gz
android_hardware_lineage_interfaces-8f2fcfc832a469cc48655a9f874ddc844f9e9c73.tar.bz2
android_hardware_lineage_interfaces-8f2fcfc832a469cc48655a9f874ddc844f9e9c73.zip
LiveDisplay: Add a system variant
Change-Id: I97e713bd1b013c4965cfc2778f59a277efe01829
-rw-r--r--livedisplay/1.0/default/Android.bp14
-rw-r--r--livedisplay/1.0/default/controller/SDMController.cpp4
-rw-r--r--livedisplay/1.0/default/lineage.livedisplay@1.0-service-sdm.rc7
-rw-r--r--livedisplay/1.0/default/service.cpp5
-rw-r--r--livedisplay/1.0/default/src/Utils.cpp4
5 files changed, 33 insertions, 1 deletions
diff --git a/livedisplay/1.0/default/Android.bp b/livedisplay/1.0/default/Android.bp
index dc398f9..42c18f6 100644
--- a/livedisplay/1.0/default/Android.bp
+++ b/livedisplay/1.0/default/Android.bp
@@ -16,7 +16,6 @@ cc_defaults {
name: "livedisplay_defaults",
relative_install_path: "hw",
defaults: ["hidl_defaults"],
- proprietary: true,
local_include_dirs: ["include"],
srcs: [
"service.cpp",
@@ -36,9 +35,21 @@ cc_defaults {
}
cc_binary {
+ name: "lineage.livedisplay@1.0-service-sdm",
+ init_rc: ["lineage.livedisplay@1.0-service-sdm.rc"],
+ defaults: ["livedisplay_defaults"],
+ cflags: ["-DCOLOR_BACKEND_SDM", "-DLIVES_IN_SYSTEM"],
+ srcs: [
+ "impl/SDM.cpp",
+ "controller/SDMController.cpp",
+ ],
+}
+
+cc_binary {
name: "vendor.lineage.livedisplay@1.0-service-legacymm",
init_rc: ["vendor.lineage.livedisplay@1.0-service-legacymm.rc"],
defaults: ["livedisplay_defaults"],
+ proprietary: true,
cflags: ["-DCOLOR_BACKEND_LEGACYMM"],
srcs: [
"impl/LegacyMM.cpp",
@@ -50,6 +61,7 @@ cc_binary {
name: "vendor.lineage.livedisplay@1.0-service-sdm",
init_rc: ["vendor.lineage.livedisplay@1.0-service-sdm.rc"],
defaults: ["livedisplay_defaults"],
+ proprietary: true,
cflags: ["-DCOLOR_BACKEND_SDM"],
srcs: [
"impl/SDM.cpp",
diff --git a/livedisplay/1.0/default/controller/SDMController.cpp b/livedisplay/1.0/default/controller/SDMController.cpp
index 1355ce2..8d4f69a 100644
--- a/livedisplay/1.0/default/controller/SDMController.cpp
+++ b/livedisplay/1.0/default/controller/SDMController.cpp
@@ -53,7 +53,11 @@
return 0;
namespace {
+#ifdef LIVES_IN_SYSTEM
+constexpr char kFilename[] = "libsdm-disp-apis.so";
+#else
constexpr char kFilename[] = "libsdm-disp-vndapis.so";
+#endif
template <typename Function>
Function loadFunction(std::shared_ptr<void> handle, const char* name) {
diff --git a/livedisplay/1.0/default/lineage.livedisplay@1.0-service-sdm.rc b/livedisplay/1.0/default/lineage.livedisplay@1.0-service-sdm.rc
new file mode 100644
index 0000000..5347fcd
--- /dev/null
+++ b/livedisplay/1.0/default/lineage.livedisplay@1.0-service-sdm.rc
@@ -0,0 +1,7 @@
+on post-fs-data
+ mkdir /data/display 0770 system graphics
+
+service livedisplay-hal-1-0 /system/bin/hw/lineage.livedisplay@1.0-service-sdm
+ class hal
+ user system
+ group system
diff --git a/livedisplay/1.0/default/service.cpp b/livedisplay/1.0/default/service.cpp
index 4370545..161aed6 100644
--- a/livedisplay/1.0/default/service.cpp
+++ b/livedisplay/1.0/default/service.cpp
@@ -42,8 +42,13 @@ int main() {
LOG(INFO) << "LiveDisplay HAL service is starting.";
+#ifdef LIVES_IN_SYSTEM
+ // The LiveDisplay HAL may communicate to other components via /dev/binder
+ android::ProcessState::initWithDriver("/dev/binder");
+#else
// The LiveDisplay HAL may communicate to other vendor components via /dev/vndbinder
android::ProcessState::initWithDriver("/dev/vndbinder");
+#endif
android::sp<IColor> service = new Color();
if (service == nullptr) {
diff --git a/livedisplay/1.0/default/src/Utils.cpp b/livedisplay/1.0/default/src/Utils.cpp
index bb14a68..7db6efc 100644
--- a/livedisplay/1.0/default/src/Utils.cpp
+++ b/livedisplay/1.0/default/src/Utils.cpp
@@ -29,7 +29,11 @@
#include <cutils/sockets.h>
+#ifdef LIVES_IN_SYSTEM
+constexpr char LOCAL_STORAGE_PATH[] = "/data/display";
+#else
constexpr char LOCAL_STORAGE_PATH[] = "/data/vendor/display";
+#endif
constexpr char LOCAL_MODE_ID[] = "livedisplay_mode";
constexpr char LOCAL_INITIAL_MODE_ID[] = "livedisplay_initial_mode";