Make it backwards compatible with 4.4
Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
diff --git a/toolbox/Android.mk b/toolbox/Android.mk
index c721bbd..4c3e433 100644
--- a/toolbox/Android.mk
+++ b/toolbox/Android.mk
@@ -2,9 +2,13 @@
LOCAL_PATH := system/core/toolbox
include $(CLEAR_VARS)
-OUR_TOOLS := \
- start \
- stop \
+OUR_TOOLS :=
+
+ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 24; echo $$?),0)
+ OUR_TOOLS := \
+ start \
+ stop
+endif
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0)
OUR_TOOLS += \
@@ -227,6 +231,13 @@
LOCAL_SRC_FILES += ../../../$(TWRP_TOOLBOX_PATH)/ls.c
endif
endif
+ifeq ($(shell test $(PLATFORM_SDK_VERSION) -gt 23; echo $$?),0)
+ # Rule for making start and stop in N trees
+ LOCAL_SRC_FILES += \
+ ../../../$(TWRP_TOOLBOX_PATH)/start.c \
+ ../../../$(TWRP_TOOLBOX_PATH)/stop.c
+ OUR_TOOLS += start stop
+endif
LOCAL_MODULE := toolbox_recovery
LOCAL_MODULE_STEM := toolbox
diff --git a/toolbox/start.c b/toolbox/start.c
new file mode 100644
index 0000000..6c8a3f2
--- /dev/null
+++ b/toolbox/start.c
@@ -0,0 +1,21 @@
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <cutils/properties.h>
+
+int start_main(int argc, char *argv[])
+{
+ if(argc > 1) {
+ property_set("ctl.start", argv[1]);
+ } else {
+ /* defaults to starting the common services stopped by stop.c */
+ property_set("ctl.start", "netd");
+ property_set("ctl.start", "surfaceflinger");
+ property_set("ctl.start", "zygote");
+ property_set("ctl.start", "zygote_secondary");
+ }
+
+ return 0;
+}
diff --git a/toolbox/stop.c b/toolbox/stop.c
new file mode 100644
index 0000000..5e3ce3c
--- /dev/null
+++ b/toolbox/stop.c
@@ -0,0 +1,19 @@
+#include <stdio.h>
+#include <string.h>
+
+#include <cutils/properties.h>
+
+int stop_main(int argc, char *argv[])
+{
+ if(argc > 1) {
+ property_set("ctl.stop", argv[1]);
+ } else{
+ /* defaults to stopping the common services */
+ property_set("ctl.stop", "zygote_secondary");
+ property_set("ctl.stop", "zygote");
+ property_set("ctl.stop", "surfaceflinger");
+ property_set("ctl.stop", "netd");
+ }
+
+ return 0;
+}