Merge "Reload color sysprops after failing" into tm-dev

This commit is contained in:
Lucas Dupin
2022-03-30 16:38:30 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 3 deletions

View File

@@ -1425,12 +1425,17 @@ void BootAnimation::drawTexturedQuad(float xStart, float yStart, float width, fl
void BootAnimation::initDynamicColors() {
for (int i = 0; i < DYNAMIC_COLOR_COUNT; i++) {
parseColorDecimalString(
android::base::GetProperty("persist.bootanim.color" + std::to_string(i + 1), ""),
const auto syspropName = "persist.bootanim.color" + std::to_string(i + 1);
const auto syspropValue = android::base::GetProperty(syspropName, "");
if (syspropValue != "") {
SLOGI("Loaded dynamic color: %s -> %s", syspropName.c_str(), syspropValue.c_str());
mDynamicColorsApplied = true;
}
parseColorDecimalString(syspropValue,
mAnimation->endColors[i], mAnimation->startColors[i]);
}
glUseProgram(mImageShader);
SLOGI("[BootAnimation] Dynamically coloring boot animation.");
SLOGI("Dynamically coloring boot animation. Sysprops loaded? %i", mDynamicColorsApplied);
for (int i = 0; i < DYNAMIC_COLOR_COUNT; i++) {
float *startColor = mAnimation->startColors[i];
float *endColor = mAnimation->endColors[i];
@@ -1465,6 +1470,11 @@ bool BootAnimation::playAnimation(const Animation& animation) {
continue; //to next part
}
if (animation.dynamicColoringEnabled && part.useDynamicColoring && !mDynamicColorsApplied) {
SLOGD("Trying to load dynamic color sysprops.");
initDynamicColors();
}
// process the part not only while the count allows but also if already fading
for (int r=0 ; !part.count || r<part.count || fadedFramesCount > 0 ; r++) {
if (shouldStopPlayingPart(part, fadedFramesCount, lastDisplayedProgress)) break;

View File

@@ -228,6 +228,7 @@ private:
bool mTimeIsAccurate;
bool mTimeFormat12Hour;
bool mShuttingDown;
bool mDynamicColorsApplied = false;
String8 mZipFileName;
SortedVector<String8> mLoadedFiles;
sp<TimeCheckThread> mTimeCheckThread = nullptr;