summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorArtur Dryomov <artur.dryomov@gmail.com>2013-09-15 02:29:10 +0300
committerArtur Dryomov <artur.dryomov@gmail.com>2013-09-15 02:34:30 +0300
commita5b4a547d55c23794f9b47cc194cfacab2e0e7d9 (patch)
treefcf9f4937fd17a78989f2294fc301d3fc04ee0ec /android
parent10ca4e0b79725729bf866aba6ba99fd5cbee859e (diff)
Fix possible timer duplicates.
Change-Id: I070e36c4a82ca245a641e53466cdaf10dd01e95c
Diffstat (limited to 'android')
-rw-r--r--android/sdremote/src/org/libreoffice/impressremote/communication/Timer.java31
1 files changed, 20 insertions, 11 deletions
diff --git a/android/sdremote/src/org/libreoffice/impressremote/communication/Timer.java b/android/sdremote/src/org/libreoffice/impressremote/communication/Timer.java
index 4e13910ef6ad..937ccc533a69 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/communication/Timer.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/communication/Timer.java
@@ -45,24 +45,41 @@ public class Timer implements Runnable {
return mTotalMinutes != 0;
}
+ public int getMinutesLeft() {
+ return mTotalMinutes - mPassedMinutes;
+ }
+
+ public boolean isTimeUp() {
+ return getMinutesLeft() <= 0;
+ }
+
public void start() {
if (!isSet()) {
return;
}
+ tearDownTimerHandler();
+ setUpTimerHandler();
+ }
+
+ private void tearDownTimerHandler() {
+ mTimerHandler.removeCallbacks(this);
+ }
+
+ private void setUpTimerHandler() {
mTimerHandler.postDelayed(this, TimeUnit.MINUTES.toMillis(UPDATE_PERIOD_IN_MINUTES));
}
@Override
public void run() {
- updatePassedMinutes();
+ increasePassedMinutes();
mTimerListener.onTimerUpdated();
start();
}
- private void updatePassedMinutes() {
+ private void increasePassedMinutes() {
mPassedMinutes++;
}
@@ -72,7 +89,7 @@ public class Timer implements Runnable {
}
public void pause() {
- mTimerHandler.removeCallbacks(this);
+ tearDownTimerHandler();
}
public void reset() {
@@ -83,14 +100,6 @@ public class Timer implements Runnable {
public void resume() {
start();
}
-
- public boolean isTimeUp() {
- return getMinutesLeft() <= 0;
- }
-
- public int getMinutesLeft() {
- return mTotalMinutes - mPassedMinutes;
- }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */