From 15807170cb2d4eaf8346336b5ef7fb49ef124725 Mon Sep 17 00:00:00 2001 From: Firefly-RK3288 Date: Thu, 23 Jun 2016 12:01:13 +0800 Subject: [PATCH] Android->DeviceTest:add first time boot go to DeviceTest --- device/rockchip/common/init.rk30board.rc | 8 +++++++ .../core/java/android/os/RecoverySystem.java | 1 + system/core/init/property_service.c | 5 +++++ .../common/apps/DeviceTest/lib/systemconfig | 22 +++++++++++++++++++ vendor/rockchip/common/apps/apps.mk | 3 +++ 5 files changed, 39 insertions(+) create mode 100644 vendor/rockchip/common/apps/DeviceTest/lib/systemconfig diff --git a/device/rockchip/common/init.rk30board.rc b/device/rockchip/common/init.rk30board.rc index 3e986b4ab6..681d939307 100644 --- a/device/rockchip/common/init.rk30board.rc +++ b/device/rockchip/common/init.rk30board.rc @@ -169,3 +169,11 @@ service switch_ubuntu /system/bin/busybox sh /system/bin/switch_ubuntu.sh on property:app.switch_ubuntu.start=1 start switch_ubuntu + +service clear_test /system/bin/systemconfig clear_test + class main + disabled + oneshot + +on property:app.firefly.config=1 + start clear_test diff --git a/frameworks/base/core/java/android/os/RecoverySystem.java b/frameworks/base/core/java/android/os/RecoverySystem.java index b879c83eea..8c67babdc2 100644 --- a/frameworks/base/core/java/android/os/RecoverySystem.java +++ b/frameworks/base/core/java/android/os/RecoverySystem.java @@ -388,6 +388,7 @@ public class RecoverySystem { */ public static void rebootWipeUserData(Context context, boolean shutdown, String reason) throws IOException { + SystemProperties.set("app.firefly.config","1"); UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); if (um.hasUserRestriction(UserManager.DISALLOW_FACTORY_RESET)) { throw new SecurityException("Wiping data is not allowed for this user."); diff --git a/system/core/init/property_service.c b/system/core/init/property_service.c index 8dc64e0852..5479de150e 100644 --- a/system/core/init/property_service.c +++ b/system/core/init/property_service.c @@ -151,6 +151,11 @@ static int check_perms(const char *name, char *sctx) return 1; } + if(strcmp("app.firefly.config",name)==0) + { + return 1; + } + if(!strncmp(name, "ro.", 3)) name +=3; diff --git a/vendor/rockchip/common/apps/DeviceTest/lib/systemconfig b/vendor/rockchip/common/apps/DeviceTest/lib/systemconfig new file mode 100644 index 0000000000..b6959da479 --- /dev/null +++ b/vendor/rockchip/common/apps/DeviceTest/lib/systemconfig @@ -0,0 +1,22 @@ +#!/system/bin/sh +#copy /system/bin/ + +CLEAR_TEST="clear_test" + + +function clear_test() +{ + mount -o remount,rw /system + rm -rf /system/media/devicetest +} + +case "$1" in + "$CLEAR_TEST") + echo "system will get root..." + clear_test + ;; + *) + echo "unexpected argument." + ;; +esac + diff --git a/vendor/rockchip/common/apps/apps.mk b/vendor/rockchip/common/apps/apps.mk index af55baf0b7..d1acb8ca9d 100755 --- a/vendor/rockchip/common/apps/apps.mk +++ b/vendor/rockchip/common/apps/apps.mk @@ -71,6 +71,9 @@ PRODUCT_PACKAGES += \ # $(LOCAL_PATH)/ituxd/lib/x86/libthermalJNI.so:system/lib/libthermalJNI.so endif +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/DeviceTest/lib/systemconfig:system/bin/systemconfig + ###########for box app ################ ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), box)