framwork定制 解决动画结束后出现过渡画面并且显示壁纸

    Android定制过程中经常需要更改的需求!

--- a/frameworks/base/cmds/bootanimation/BootAnimation.cpp
+++ b/frameworks/base/cmds/bootanimation/BootAnimation.cpp

+#define EXIT_ANIM_NAME      "persist.bootanim.exit"
 void BootAnimation::checkExit() {
     char value[PROPERTY_VALUE_MAX];
+    char jvalue[PROPERTY_VALUE_MAX];
+    static int i = 0;
+
+    if(!i)
+        property_set(EXIT_ANIM_NAME, "0");
+
     property_get(EXIT_PROP_NAME, value, "0");
+    property_get(EXIT_ANIM_NAME, jvalue, "0");
+
     int exitnow = atoi(value);
+    int jexitnow = atoi(jvalue);

     if (exitnow) {
+        if((jexitnow == 0) && (i < 375)) {
+            i++;
+            return;
+        }
+        else
+            i = 0;
+
         requestExit();

         if (mAudioPlayer != NULL) {
             mAudioPlayer->requestExit();

--- a/frameworks/base/services/core/java/com/android/server/am/ActivityRecord.java
+++ b/frameworks/base/services/core/java/com/android/server/am/ActivityRecord.java
 import android.os.SystemClock;
 import android.os.Trace;
 import android.os.UserHandle;
+import android.os.SystemProperties;
 import android.service.voice.IVoiceInteractionSession;
 import android.util.EventLog;
 import android.util.Log;

@@ -1173,6 +1174,13 @@ final class ActivityRecord {
     public void reportFullyDrawnLocked() {
         final long curTime = SystemClock.uptimeMillis();
+        if(shortComponentName != null && !shortComponentName.contains("FallbackHome")
+            SystemProperties.set("persist.bootanim.exit", "1");
+        }
         if (displayStartTime != 0) {
             reportLaunchTimeLocked(curTime);
         }
@@ -1215,6 +1223,13 @@ final class ActivityRecord {
         final long thisTime = curTime - displayStartTime;
         final long totalTime = stack.mLaunchStartTime != 0
                 ? (curTime - stack.mLaunchStartTime) : thisTime;
+        if(shortComponentName != null && !shortComponentName.contains("FallbackHome")
+            SystemProperties.set("persist.bootanim.exit", "1");
+        }

         if (SHOW_ACTIVITY_START_TIME) {
             Trace.asyncTraceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER, "launching: " + packageName, 0);
             EventLog.writeEvent(EventLogTags.AM_ACTIVITY_LAUNCH_TIME,
@@ -1247,6 +1262,13 @@ final class ActivityRecord {

     void windowsDrawnLocked() {
         mStackSupervisor.mActivityMetricsLogger.notifyWindowsDrawn();
+        if(shortComponentName != null && !shortComponentName.contains("FallbackHome")
+            SystemProperties.set("persist.bootanim.exit", "1");
+        }
         if (displayStartTime != 0) {
             reportLaunchTimeLocked(SystemClock.uptimeMillis());
         }
(END)

framwork定制 系统给应用程序默认授予权限 简单快捷的方案-CSDN博客

framwork定制 去除安装未知源apk出现的安全提示弹框-CSDN博客

framwork定制 内置输入法为默认输入法并授权-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾尚礼的代码工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值