Skip to content

Commit a1c287f

Browse files
committed
Improve timer duration button states
1 parent 3b39c31 commit a1c287f

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

app/src/main/java/xyz/zedler/patrick/tack/Constants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public final class Constants {
3131
public static final int BEATS_MAX = 20;
3232
public static final int SUBS_MAX = 10;
3333
public static final int BOOKMARKS_MAX = 10;
34-
public static final int TIMER_MAX = 400;
34+
public static final int TIMER_MAX = 399;
3535

3636
public final static class PREF {
3737
// General

app/src/main/java/xyz/zedler/patrick/tack/util/OptionsUtil.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -269,26 +269,28 @@ private void updateTimer() {
269269
int valueTo = (int) binding.sliderOptionsTimerDuration.getValueTo();
270270
int range = valueTo - valueFrom;
271271

272-
binding.buttonOptionsTimerDecrease.setEnabled(timerDuration >= range);
272+
// Calculate current range
273+
int factor = timerDuration / (range + 1);
274+
int valueFromNew = factor * (range + 1);
275+
int valueToNew = valueFromNew + range;
276+
277+
binding.buttonOptionsTimerDecrease.setEnabled(valueFromNew > 0);
273278
binding.buttonOptionsTimerDecrease.setOnClickListener(this);
274279
ViewCompat.setTooltipText(
275280
binding.buttonOptionsTimerDecrease,
276281
activity.getString(R.string.action_decrease)
277282
);
278283

279-
binding.buttonOptionsTimerIncrease.setEnabled(timerDuration < Constants.TIMER_MAX);
284+
binding.buttonOptionsTimerIncrease.setEnabled(valueToNew < Constants.TIMER_MAX);
280285
binding.buttonOptionsTimerIncrease.setOnClickListener(this);
281286
ViewCompat.setTooltipText(
282287
binding.buttonOptionsTimerIncrease,
283288
activity.getString(R.string.action_increase)
284289
);
285290

286-
// Calculate current range
287-
int factor = timerDuration / (range + 1);
288-
int valueFromNew = factor * (range + 1);
289291
binding.sliderOptionsTimerDuration.removeOnChangeListener(this);
290292
binding.sliderOptionsTimerDuration.setValueFrom(valueFromNew);
291-
binding.sliderOptionsTimerDuration.setValueTo(valueFromNew + range);
293+
binding.sliderOptionsTimerDuration.setValueTo(valueToNew);
292294
binding.sliderOptionsTimerDuration.setValue(timerDuration);
293295
binding.sliderOptionsTimerDuration.addOnChangeListener(this);
294296
binding.sliderOptionsTimerDuration.setLabelFormatter(value -> {

app/src/main/res/raw/changelog.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
- New: option to highlight current beat
44
- Improved: controls appearance on main screen
5+
- Improved: timer duration now up to 399 units with new increase/decrease buttons
56
- Fixed: vibration not working on some devices
67
- Fixed: various crashes and bugs on lower Android versions
78

0 commit comments

Comments
 (0)