Merge "Fix the problem of slow exit of boot animation" am: 9a0581c0c9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2369728 Change-Id: I9378f498e2c837f403ac51284327f39df01382d3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -107,6 +107,7 @@ static const char PROGRESS_PROP_NAME[] = "service.bootanim.progress";
|
|||||||
static const char DISPLAYS_PROP_NAME[] = "persist.service.bootanim.displays";
|
static const char DISPLAYS_PROP_NAME[] = "persist.service.bootanim.displays";
|
||||||
static const char CLOCK_ENABLED_PROP_NAME[] = "persist.sys.bootanim.clock.enabled";
|
static const char CLOCK_ENABLED_PROP_NAME[] = "persist.sys.bootanim.clock.enabled";
|
||||||
static const int ANIM_ENTRY_NAME_MAX = ANIM_PATH_MAX + 1;
|
static const int ANIM_ENTRY_NAME_MAX = ANIM_PATH_MAX + 1;
|
||||||
|
static const int MAX_CHECK_EXIT_INTERVAL_US = 50000;
|
||||||
static constexpr size_t TEXT_POS_LEN_MAX = 16;
|
static constexpr size_t TEXT_POS_LEN_MAX = 16;
|
||||||
static const int DYNAMIC_COLOR_COUNT = 4;
|
static const int DYNAMIC_COLOR_COUNT = 4;
|
||||||
static const char U_TEXTURE[] = "uTexture";
|
static const char U_TEXTURE[] = "uTexture";
|
||||||
@@ -1680,7 +1681,17 @@ bool BootAnimation::playAnimation(const Animation& animation) {
|
|||||||
checkExit();
|
checkExit();
|
||||||
}
|
}
|
||||||
|
|
||||||
usleep(part.pause * ns2us(frameDuration));
|
int pauseDuration = part.pause * ns2us(frameDuration);
|
||||||
|
while(pauseDuration > 0 && !exitPending()){
|
||||||
|
if (pauseDuration > MAX_CHECK_EXIT_INTERVAL_US) {
|
||||||
|
usleep(MAX_CHECK_EXIT_INTERVAL_US);
|
||||||
|
pauseDuration -= MAX_CHECK_EXIT_INTERVAL_US;
|
||||||
|
} else {
|
||||||
|
usleep(pauseDuration);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
checkExit();
|
||||||
|
}
|
||||||
|
|
||||||
if (exitPending() && !part.count && mCurrentInset >= mTargetInset &&
|
if (exitPending() && !part.count && mCurrentInset >= mTargetInset &&
|
||||||
!part.hasFadingPhase()) {
|
!part.hasFadingPhase()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user