suspend_blocker: Use Cuttlefish's workaround to avoid suspending the device
Reuse Cuttlefish's suspend blocker service to avoid
suspending the device while running CTS tests.
This is actuallly a cherry-pick of Amit's change on db845c here:
https://android-review.googlesource.com/c/device/linaro/dragonboard/+/1723130
The problem is that "adb shell stop" is causing a PM suspend and
subsequent loss of adb connectivity. The problem could also be reproduced by
the vts ltp test.
Test: booted to homescreen with hikey and hikey960 board,
and adb shell stop does not cause suspend any more
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
Change-Id: I290faa5182135a619c4053d12a88a2d534641d7f
diff --git a/device-common.mk b/device-common.mk
index 1eb2e56..e5506ec 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -253,3 +253,7 @@
PRODUCT_PACKAGES += \
android.hardware.health@2.1-impl-cuttlefish \
android.hardware.health@2.1-service
+
+# TODO: disable this service once we implement system suspend
+PRODUCT_PACKAGES += \
+ suspend_blocker
diff --git a/init.common.rc b/init.common.rc
index 7018eef..e864a64 100644
--- a/init.common.rc
+++ b/init.common.rc
@@ -115,3 +115,9 @@
class main
disabled
oneshot
+
+# TODO: disable this service once we implement system suspend
+service suspend_blocker /vendor/bin/suspend_blocker
+ class early_hal # Start together with system_suspend HAL
+ group system
+ user root
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 1e71211..9592d82 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -20,6 +20,7 @@
/(vendor|system/vendor)/bin/uim u:object_r:hci_attach_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.bluetooth@1\.0-service\.hikey u:object_r:hal_bluetooth_hikey_exec:s0
/(vendor|system/vendor)/bin/nanoapp_cmd u:object_r:nanoapp_cmd_exec:s0
+/(vendor|system/vendor)/bin/suspend_blocker u:object_r:suspend_blocker_exec:s0
/(vendor|system/vendor)/lib(64)?/hw/gralloc\.hikey960\.so u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib(64)?/hw/gralloc\.hikey\.so u:object_r:same_process_hal_file:s0
diff --git a/sepolicy/suspend_blocker.te b/sepolicy/suspend_blocker.te
new file mode 100644
index 0000000..fa6e02a
--- /dev/null
+++ b/sepolicy/suspend_blocker.te
@@ -0,0 +1,6 @@
+type suspend_blocker, domain;
+type suspend_blocker_exec, exec_type, vendor_file_type, file_type;
+
+init_daemon_domain(suspend_blocker);
+
+wakelock_use(suspend_blocker);