Loading cmds/bootanimation/BootAnimation.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ namespace android { static const char OEM_BOOTANIMATION_FILE[] = "/oem/media/bootanimation.zip"; static const char PRODUCT_BOOTANIMATION_DARK_FILE[] = "/product/media/bootanimation-dark.zip"; static const char PRODUCT_BOOTANIMATION_FILE[] = "/product/media/bootanimation.zip"; static const char SYSTEM_BOOTANIMATION_FILE[] = "/system/media/bootanimation.zip"; static const char PRODUCT_ENCRYPTED_BOOTANIMATION_FILE[] = "/product/media/bootanimation-encrypted.zip"; Loading Loading @@ -141,7 +142,6 @@ sp<SurfaceComposerClient> BootAnimation::session() const { return mSession; } void BootAnimation::binderDied(const wp<IBinder>&) { // woah, surfaceflinger died! Loading Loading @@ -355,8 +355,11 @@ void BootAnimation::findBootAnimationFile() { } } } const bool playDarkAnim = android::base::GetIntProperty("ro.boot.theme", 0) == 1; static const char* bootFiles[] = {PRODUCT_BOOTANIMATION_FILE, OEM_BOOTANIMATION_FILE, SYSTEM_BOOTANIMATION_FILE}; {playDarkAnim ? PRODUCT_BOOTANIMATION_DARK_FILE : PRODUCT_BOOTANIMATION_FILE, OEM_BOOTANIMATION_FILE, SYSTEM_BOOTANIMATION_FILE}; static const char* shutdownFiles[] = {PRODUCT_SHUTDOWNANIMATION_FILE, OEM_SHUTDOWNANIMATION_FILE, SYSTEM_SHUTDOWNANIMATION_FILE}; Loading services/core/java/com/android/server/am/ActivityManagerService.java +31 −0 Original line number Diff line number Diff line Loading @@ -407,6 +407,9 @@ public class ActivityManagerService extends IActivityManager.Stub */ public static final int TOP_APP_PRIORITY_BOOST = -10; private static final String SYSTEM_PROPERTY_DEVICE_PROVISIONED = "persist.sys.device_provisioned"; static final String TAG = TAG_WITH_CLASS_NAME ? "ActivityManagerService" : TAG_AM; static final String TAG_BACKUP = TAG + POSTFIX_BACKUP; private static final String TAG_BROADCAST = TAG + POSTFIX_BROADCAST; Loading Loading @@ -8919,6 +8922,8 @@ public class ActivityManagerService extends IActivityManager.Stub mAtmInternal.updateTopComponentForFactoryTest(); watchDeviceProvisioning(mContext); retrieveSettings(); mUgmInternal.onSystemReady(); Loading Loading @@ -9034,6 +9039,32 @@ public class ActivityManagerService extends IActivityManager.Stub } } private void watchDeviceProvisioning(Context context) { // setting system property based on whether device is provisioned if (isDeviceProvisioned(context)) { SystemProperties.set(SYSTEM_PROPERTY_DEVICE_PROVISIONED, "1"); } else { // watch for device provisioning change context.getContentResolver().registerContentObserver( Settings.Global.getUriFor(Settings.Global.DEVICE_PROVISIONED), false, new ContentObserver(new Handler(Looper.getMainLooper())) { @Override public void onChange(boolean selfChange) { if (isDeviceProvisioned(context)) { SystemProperties.set(SYSTEM_PROPERTY_DEVICE_PROVISIONED, "1"); context.getContentResolver().unregisterContentObserver(this); } } }); } } private boolean isDeviceProvisioned(Context context) { return Settings.Global.getInt(context.getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 0) != 0; } private void startBroadcastObservers() { for (BroadcastQueue queue : mBroadcastQueues) { queue.start(mContext.getContentResolver()); Loading Loading
cmds/bootanimation/BootAnimation.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ namespace android { static const char OEM_BOOTANIMATION_FILE[] = "/oem/media/bootanimation.zip"; static const char PRODUCT_BOOTANIMATION_DARK_FILE[] = "/product/media/bootanimation-dark.zip"; static const char PRODUCT_BOOTANIMATION_FILE[] = "/product/media/bootanimation.zip"; static const char SYSTEM_BOOTANIMATION_FILE[] = "/system/media/bootanimation.zip"; static const char PRODUCT_ENCRYPTED_BOOTANIMATION_FILE[] = "/product/media/bootanimation-encrypted.zip"; Loading Loading @@ -141,7 +142,6 @@ sp<SurfaceComposerClient> BootAnimation::session() const { return mSession; } void BootAnimation::binderDied(const wp<IBinder>&) { // woah, surfaceflinger died! Loading Loading @@ -355,8 +355,11 @@ void BootAnimation::findBootAnimationFile() { } } } const bool playDarkAnim = android::base::GetIntProperty("ro.boot.theme", 0) == 1; static const char* bootFiles[] = {PRODUCT_BOOTANIMATION_FILE, OEM_BOOTANIMATION_FILE, SYSTEM_BOOTANIMATION_FILE}; {playDarkAnim ? PRODUCT_BOOTANIMATION_DARK_FILE : PRODUCT_BOOTANIMATION_FILE, OEM_BOOTANIMATION_FILE, SYSTEM_BOOTANIMATION_FILE}; static const char* shutdownFiles[] = {PRODUCT_SHUTDOWNANIMATION_FILE, OEM_SHUTDOWNANIMATION_FILE, SYSTEM_SHUTDOWNANIMATION_FILE}; Loading
services/core/java/com/android/server/am/ActivityManagerService.java +31 −0 Original line number Diff line number Diff line Loading @@ -407,6 +407,9 @@ public class ActivityManagerService extends IActivityManager.Stub */ public static final int TOP_APP_PRIORITY_BOOST = -10; private static final String SYSTEM_PROPERTY_DEVICE_PROVISIONED = "persist.sys.device_provisioned"; static final String TAG = TAG_WITH_CLASS_NAME ? "ActivityManagerService" : TAG_AM; static final String TAG_BACKUP = TAG + POSTFIX_BACKUP; private static final String TAG_BROADCAST = TAG + POSTFIX_BROADCAST; Loading Loading @@ -8919,6 +8922,8 @@ public class ActivityManagerService extends IActivityManager.Stub mAtmInternal.updateTopComponentForFactoryTest(); watchDeviceProvisioning(mContext); retrieveSettings(); mUgmInternal.onSystemReady(); Loading Loading @@ -9034,6 +9039,32 @@ public class ActivityManagerService extends IActivityManager.Stub } } private void watchDeviceProvisioning(Context context) { // setting system property based on whether device is provisioned if (isDeviceProvisioned(context)) { SystemProperties.set(SYSTEM_PROPERTY_DEVICE_PROVISIONED, "1"); } else { // watch for device provisioning change context.getContentResolver().registerContentObserver( Settings.Global.getUriFor(Settings.Global.DEVICE_PROVISIONED), false, new ContentObserver(new Handler(Looper.getMainLooper())) { @Override public void onChange(boolean selfChange) { if (isDeviceProvisioned(context)) { SystemProperties.set(SYSTEM_PROPERTY_DEVICE_PROVISIONED, "1"); context.getContentResolver().unregisterContentObserver(this); } } }); } } private boolean isDeviceProvisioned(Context context) { return Settings.Global.getInt(context.getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 0) != 0; } private void startBroadcastObservers() { for (BroadcastQueue queue : mBroadcastQueues) { queue.start(mContext.getContentResolver()); Loading