From c11501eb1f4d635bde617665a5698af83aa3f207 Mon Sep 17 00:00:00 2001 From: MRSa Date: Fri, 23 Mar 2018 00:33:07 +0900 Subject: [PATCH] =?utf8?q?=E6=9A=AB=E5=AE=9A=E3=83=AC=E3=82=A4=E3=82=A2?= =?utf8?q?=E3=82=A6=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../joggingtimer/stopwatch/ITimerStopTrigger.java | 11 ++++++++ .../joggingtimer/stopwatch/MainActivity.java | 9 +++++- .../joggingtimer/stopwatch/MyTimerTrigger.java | 12 ++++++-- .../src/main/res/layout-notround/activity_main.xml | 32 +++++++++------------- wear/src/main/res/layout-round/activity_main.xml | 29 ++++++++------------ 5 files changed, 53 insertions(+), 40 deletions(-) create mode 100644 wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ITimerStopTrigger.java diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ITimerStopTrigger.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ITimerStopTrigger.java new file mode 100644 index 0000000..655e4fb --- /dev/null +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ITimerStopTrigger.java @@ -0,0 +1,11 @@ +package net.osdn.gokigen.joggingtimer.stopwatch; + + +/** + * + * + */ +public interface ITimerStopTrigger +{ + void forceStop(); +} diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MainActivity.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MainActivity.java index 2f74afc..7d24999 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MainActivity.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MainActivity.java @@ -32,6 +32,7 @@ public class MainActivity extends WearableActivity implements IClickCallback, My private MyTimerCounter counter = new MyTimerCounter(); private boolean isCounterLapTime = false; private boolean isLaptimeView = false; + private ITimerStopTrigger stopTrigger = null; /** * @@ -125,6 +126,10 @@ public class MainActivity extends WearableActivity implements IClickCallback, My { super.onStop(); Log.v(TAG, "onStop()"); + if (stopTrigger != null) + { + stopTrigger.forceStop(); + } controller.exitApplication(this); } @@ -302,6 +307,7 @@ public class MainActivity extends WearableActivity implements IClickCallback, My timerCounter.start(); MyTimerTrigger trigger = new MyTimerTrigger(this, 100, timerCounter); trigger.startTimer(); + stopTrigger = trigger; controller.timerStarted(true); controller.vibrate(120); @@ -416,7 +422,7 @@ public class MainActivity extends WearableActivity implements IClickCallback, My @Override public boolean pushedArea() { - //isLaptimeView = !isLaptimeView; + isLaptimeView = !isLaptimeView; Log.v(TAG, "pushedArea() : " + isLaptimeView); changeGraphicView(isLaptimeView); updateTimerLabel(); @@ -841,6 +847,7 @@ public class MainActivity extends WearableActivity implements IClickCallback, My { MyTimerTrigger trigger = new MyTimerTrigger(this, 100, timerCounter); trigger.startTimer(); + stopTrigger = trigger; } } catch (Exception e) diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MyTimerTrigger.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MyTimerTrigger.java index 8836bd9..26ed845 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MyTimerTrigger.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MyTimerTrigger.java @@ -4,11 +4,12 @@ package net.osdn.gokigen.joggingtimer.stopwatch; * * */ -class MyTimerTrigger +class MyTimerTrigger implements ITimerStopTrigger { private final ITimeoutReceiver triggerReceiver; private final long duration; private final ITimerCounter timerCounter; + private boolean forceStop = false; MyTimerTrigger(ITimeoutReceiver triggerReceiver, long duration, ITimerCounter timerCounter) { @@ -35,8 +36,9 @@ class MyTimerTrigger { triggerReceiver.timeout(); } - } while (timerCounter.isStarted()); + } while ((timerCounter.isStarted())&&(!forceStop)); } + forceStop = false; } }); try @@ -49,6 +51,12 @@ class MyTimerTrigger } } + @Override + public void forceStop() + { + forceStop = true; + } + public interface ITimeoutReceiver { void timeout(); diff --git a/wear/src/main/res/layout-notround/activity_main.xml b/wear/src/main/res/layout-notround/activity_main.xml index 81742c4..cad6253 100644 --- a/wear/src/main/res/layout-notround/activity_main.xml +++ b/wear/src/main/res/layout-notround/activity_main.xml @@ -95,6 +95,19 @@ android:textSize="8pt" android:text="@string/blank" /> + + - - - - diff --git a/wear/src/main/res/layout-round/activity_main.xml b/wear/src/main/res/layout-round/activity_main.xml index e74211b..e5a0750 100644 --- a/wear/src/main/res/layout-round/activity_main.xml +++ b/wear/src/main/res/layout-round/activity_main.xml @@ -92,6 +92,17 @@ android:textSize="7pt" android:text="@string/blank" /> + + - - - -- 2.11.0