Correct battery animation

This commit is contained in:
Peter Cai 2023-04-29 11:24:35 -04:00
parent 7be74307eb
commit 635ed267bb
1 changed files with 5 additions and 4 deletions

View File

@ -122,6 +122,7 @@ public final class AnimationManager {
public void playCharging() {
StatusManager.setChargingLedsActive(true);
submit(() -> {
final int num_leds = mLEDManager.getNumLEDs();
int solid_leds = 0;
mLEDManager.enableAllLEDs(false);
mLEDManager.setColor(0xffffff);
@ -131,17 +132,17 @@ public final class AnimationManager {
while (check(Constants.SpotlightMode.CHARGING)) {
int batteryLevel = getBatteryLevel();
if (oldBatteryLevel != batteryLevel) {
solid_leds = Integer.valueOf(batteryLevel / mLEDManager.getNumLEDs());
solid_leds = (int) Math.floor(batteryLevel / 100.0d * num_leds);
for (int i = 0; i < solid_leds; i++) {
mLEDManager.enableLED(i, true);
mLEDManager.enableLED(num_leds - i - 1, true);
Thread.sleep(150);
}
oldBatteryLevel = batteryLevel;
}
if (100 - solid_leds * mLEDManager.getNumLEDs() > 0) {
mLEDManager.enableLED(solid_leds, true);
mLEDManager.enableLED(num_leds - solid_leds - 1, true);
Thread.sleep(500);
mLEDManager.enableLED(solid_leds, false);
mLEDManager.enableLED(num_leds - solid_leds - 1, false);
Thread.sleep(500);
}
}