From 93cc945a2c9cd1cdaefc745b33a196cdeec198ac Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Wed, 1 Jul 2020 16:16:06 +0200 Subject: [PATCH] Fix division by zero when calculating progress for large periods --- .../com/beemdevelopment/aegis/ui/views/TotpProgressBar.java | 4 ++-- app/src/main/res/layout/card_entry_compact.xml | 2 +- app/src/main/res/layout/card_entry_small.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/views/TotpProgressBar.java b/app/src/main/java/com/beemdevelopment/aegis/ui/views/TotpProgressBar.java index 6a9c5675..53e8a6f2 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/views/TotpProgressBar.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/views/TotpProgressBar.java @@ -65,8 +65,8 @@ public class TotpProgressBar extends ProgressBar { int currentProgress = (int) (maxProgress * ((float) millisTillRotation / (_period * 1000))); // start progress animation, compensating for any changes to the animator duration scale settings - int animPart = maxProgress / _period; - int animEnd = (currentProgress / animPart) * animPart; + float animPart = (float) maxProgress / _period; + int animEnd = (int) ((currentProgress / animPart) * animPart); int animPartDuration = (int) (1000 / _animDurationScale); float animDurationFraction = (float) (currentProgress - animEnd) / animPart; int realAnimDuration = (int) (1000 * animDurationFraction); diff --git a/app/src/main/res/layout/card_entry_compact.xml b/app/src/main/res/layout/card_entry_compact.xml index 7978232b..98123c7a 100644 --- a/app/src/main/res/layout/card_entry_compact.xml +++ b/app/src/main/res/layout/card_entry_compact.xml @@ -156,7 +156,7 @@ android:layout_width="wrap_content" android:layout_height="3dp" android:id="@+id/progressBar" - android:max="1000" + android:max="5000" android:layout_weight="1"/> diff --git a/app/src/main/res/layout/card_entry_small.xml b/app/src/main/res/layout/card_entry_small.xml index 75108ab4..d13637af 100644 --- a/app/src/main/res/layout/card_entry_small.xml +++ b/app/src/main/res/layout/card_entry_small.xml @@ -155,7 +155,7 @@ android:layout_width="wrap_content" android:layout_height="3dp" android:id="@+id/progressBar" - android:max="1000" + android:max="5000" android:layout_weight="1"/>