android/device/softwinner/ceres-c3/ceres_c3.mk
.. .. @@ -164,11 +164,13 @@ 164 164 CalculateTest 165 165 166 166 PRODUCT_PACKAGES += \ 167 + DeviceTest168 +169 +PRODUCT_PACKAGES += \167 170 tinyplay \ 168 171 tinycap \ 169 172 tinymix \ 170 173 tinypcminfo 171 -172 174 173 175 #PRODUCT_PACKAGES += AllwinnerGmsIntegration 174 176 .. .. @@ -230,6 +232,9 @@ 230 232 PRODUCT_COPY_FILES += \ 231 233 $(LOCAL_PATH)/media/bootanimation.zip:system/media/bootanimation.zip 232 234 235 +PRODUCT_COPY_FILES += \236 + vendor/aw/public/package/apk/DeviceTest_V1/assets/DeviceTestConfig_K5C.xml:vendor/etc/DeviceTestConfig.xml237 +233 238 # preferred activity 234 239 PRODUCT_COPY_FILES += \ 235 240 $(LOCAL_PATH)/configs/preferred-apps/custom.xml:system/etc/preferred-apps/custom.xml .. .. @@ -264,6 +269,13 @@ 264 269 ro.config.alarm_vol_default=7 \ 265 270 ro.config.system_vol_default=7 266 271 272 +PRODUCT_PROPERTY_OVERRIDES += \273 + persist.sys.bootAppPack=null \274 + persist.sys.bootAppClass=null275 +276 +PRODUCT_PROPERTY_OVERRIDES += \277 + persist.sys.bootonDeviceTest=0278 +267 279 #language pack 268 280 PRODUCT_PRODUCT_PROPERTIES += \ 269 281 ro.com.google.ime.system_lm_dir= /product/usr/share/ime/google/d3_lms android/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
.. .. @@ -46,6 +46,7 @@ 46 46 import android.content.BroadcastReceiver; 47 47 import android.content.ComponentCallbacks2; 48 48 import android.content.Context; 49 +import android.content.ComponentName;49 50 import android.content.Intent; 50 51 import android.content.IntentFilter; 51 52 import android.content.IntentSender; .. .. @@ -318,6 +319,28 @@ 318 319 } 319 320 } 320 321 322 + static void LauncherbootApp(Context context) {323 + try {324 + Intent myintent = new Intent(Intent.ACTION_MAIN);325 + String bootAppPack = "null";326 + String bootAppClass = "null";327 + if ("1".equals(Utilities.getSystemProperty("persist.sys.bootonDeviceTest", "0"))) {328 + bootAppPack = "com.DeviceTest";329 + bootAppClass = "com.DeviceTest.DeviceTest";330 + Utilities.setSystemProperty("persist.sys.bootonDeviceTest", "0");331 + } else {332 + bootAppPack = Utilities.getSystemProperty("persist.sys.bootAppPack", "null");333 + bootAppClass = Utilities.getSystemProperty("persist.sys.bootAppClass", "null");334 + }335 + Log.i("kickpi","will boot up APP - " + bootAppPack + "/" + bootAppClass);336 + ComponentName cn = new ComponentName(bootAppPack, bootAppClass);337 + myintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);338 + myintent.setComponent(cn);339 + context.startActivity(myintent);340 + } catch (Exception e) {341 + e.printStackTrace();342 + }343 + }321 344 322 345 @Override 323 346 protected void onCreate(Bundle savedInstanceState) { .. .. @@ -340,6 +363,8 @@ 340 363 logBootEvent("Launcher:onCreate start"); 341 364 Log.i(TAG,"Launcher:onCreate start"); 342 365 366 + LauncherbootApp(this);367 +343 368 TraceHelper.beginSection("Launcher-onCreate"); 344 369 345 370 super.onCreate(savedInstanceState); android/packages/apps/Launcher3/src/com/android/launcher3/Utilities.java
.. .. @@ -537,6 +537,21 @@ 537 537 return defaultValue; 538 538 } 539 539 540 + public static boolean setSystemProperty(String property, String value) {541 + if (TextUtils.isEmpty(property) || TextUtils.isEmpty(value)) {542 + return false;543 + }544 + try {545 + Class clazz = Class.forName("android.os.SystemProperties");546 + Method setter = clazz.getDeclaredMethod("set", String.class, String.class);547 + setter.invoke(null, property, value);548 + return true;549 + } catch (Exception e) {550 + Log.d(TAG, "Failed to set property: " + e.getMessage());551 + return false;552 + }553 + }554 +540 555 /** 541 556 * Ensures that a value is within given bounds. Specifically: 542 557 * If value is less than lowerBound, return lowerBound; else if value is greater than upperBound,