import android.support.wear.widget.BoxInsetLayout;
import android.support.wearable.activity.WearableActivity;
import android.util.Log;
+import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import net.osdn.gokigen.joggingtimer.R;
import net.osdn.gokigen.joggingtimer.recordlist.ListActivity;
+import net.osdn.gokigen.joggingtimer.utilities.TimeStringConvert;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+import java.util.Locale;
/**
*
Intent intent = getIntent();
String action = intent.getAction();
Log.v(TAG, "onResume() : " + action);
+
boolean isStartTimer = false;
if (action != null)
{
{
super.onStart();
Log.v(TAG, "onStart()");
+ controller.setupDatabase(this, false);
}
/**
{
super.onExitAmbient();
Log.v(TAG, "onExitAmbient()");
- updateTimerLabel();
+ //updateTimerLabel();
}
/**
if (timerCounter.isStarted())
{
- bgColor = Color.CYAN;
+ bgColor = Color.BLACK;
insetLayout.setBackgroundColor(bgColor);
insetLayout.invalidate();
}
else if (timerCounter.isReset())
{
- bgColor = Color.WHITE;
+ bgColor = Color.BLACK;
insetLayout.setBackgroundColor(bgColor);
insetLayout.invalidate();
}
else
{
- bgColor = Color.rgb(250, 80, 80);
+ bgColor = Color.BLACK;
insetLayout.setBackgroundColor(bgColor);
insetLayout.invalidate();
*/
private void startTimer()
{
- ITimerCounter timerCounter = counter;
- if (timerCounter != null)
+ try
{
- if (timerCounter.isStarted())
+ ITimerCounter timerCounter = counter;
+ if (timerCounter != null)
{
- // チャタリング防止(ラップタイムとして、3秒以内は記録しないようにする)
- if (timerCounter.getCurrentElapsedTime() > 3000)
+ if (timerCounter.isStarted())
+ {
+ Log.v(TAG, "startTimer() LAP TIME");
+ // チャタリング防止(ラップタイムとして、3秒以内は記録しないようにする)
+ if (timerCounter.getCurrentElapsedTime() > 3000)
+ {
+ long lapTime = timerCounter.timeStamp();
+ controller.vibrate(50);
+ controller.getDataEntry().appendTimeData(lapTime);
+ }
+ }
+ else
{
- timerCounter.timeStamp();
- controller.vibrate(50);
+ Log.v(TAG, "startTimer() START");
+ timerCounter.start();
+ MyTimerTrigger trigger = new MyTimerTrigger(this, 100, timerCounter);
+ trigger.startTimer();
+ controller.timerStarted(true);
+ controller.vibrate(120);
+
+ Date date = new Date();
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
+ String title = sdf1.format(date);
+ controller.getDataEntry().createIndex(title, "", 0, timerCounter.getStartTime());
}
+ updateTimerLabel();
}
- else
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ *
+ *
+ */
+ private boolean stopTimer()
+ {
+ boolean ret = false;
+ try
+ {
+ ITimerCounter timerCounter = counter;
+ if (timerCounter != null)
{
- timerCounter.start();
- MyTimerTrigger trigger = new MyTimerTrigger(this, 100, timerCounter);
- trigger.startTimer();
- controller.vibrate(120);
+ if (timerCounter.isStarted())
+ {
+ timerCounter.stop();
+ controller.timerStarted(false);
+ controller.vibrate(120);
+ controller.getDataEntry().finishTimeData(timerCounter.getStartTime(), timerCounter.getStopTime());
+ ret = true;
+ }
+ updateTimerLabel();
}
- updateTimerLabel();
}
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (ret);
}
/**
{
// 停止中は、記録一覧を呼び出す
launchListActivity();
+
+ // ぶるぶる
+ controller.vibrate(35);
}
}
updateTimerLabel();
@Override
public boolean pushedBtn2()
{
- boolean ret = false;
- ITimerCounter timerCounter = counter;
- if (timerCounter != null)
- {
- if (timerCounter.isStarted())
- {
- timerCounter.stop();
- controller.vibrate(120);
- ret = true;
- }
- updateTimerLabel();
- }
- return (ret);
+ return (stopTimer());
}
@Override
return (false);
}
+ @Override
+ public void dataIsReloaded(ArrayList<Long> list)
+ {
+ ITimerCounter timerCounter = counter;
+ if ((timerCounter != null)&&(list != null))
+ {
+ try
+ {
+ timerCounter.reloadTimerCounter(list.get(0), list);
+
+ MyTimerTrigger trigger = new MyTimerTrigger(this, 100, timerCounter);
+ trigger.startTimer();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ runOnUiThread(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ updateTimerLabel();
+ }
+ });
+ }
+
/**
*
*
}
}
+ /**
+ *
+ *
+ */
private void updateMainSubCounter()
{
TextView main = findViewById(R.id.main_counter);
if (timerCounter != null)
{
long time1 = timerCounter.getPastTime();
- CharSequence str1 = MyTimerCounter.getTimeString(time1);
+ CharSequence str1 = TimeStringConvert.getTimeString(time1);
CharSequence str2 = "";
if (timerCounter.isStarted())
int lapCount = timerCounter.getElapsedCount();
if ((time2 >= 100) && (lapCount > 1))
{
- str2 = "[" + lapCount + "] " + MyTimerCounter.getTimeString(time2);
+ str2 = "[" + lapCount + "] " + TimeStringConvert.getTimeString(time2);
}
}
}
}
-
+ /**
+ *
+ *
+ */
private void updateElapsedTimes()
{
String dummy = "";
{
// ラップが1つとれた場合
long time = (elapsedTimes.get(indexSize - 1) - elapsedTimes.get(indexSize - 2));
- String elapsedTime = "[" + (timerCounter.getElapsedCount() - 1) + "] " + MyTimerCounter.getTimeString(time);
+ String elapsedTime = "[" + (timerCounter.getElapsedCount() - 1) + "] " + TimeStringConvert.getTimeString(time);
area1.setText(elapsedTime);
area1.invalidate();
area2.setText(dummy);
// ラップが3つとれた場合
long time1 = (elapsedTimes.get(indexSize - 2) - elapsedTimes.get(indexSize - 3));
long time2 = (elapsedTimes.get(indexSize - 1) - elapsedTimes.get(indexSize - 2));
- String elapsedTime1 = "[" + (timerCounter.getElapsedCount() - 2) + "] " + MyTimerCounter.getTimeString(time1);
- String elapsedTime2 = "[" + (timerCounter.getElapsedCount() - 1) + "] " + MyTimerCounter.getTimeString(time2);
+ String elapsedTime1 = "[" + (timerCounter.getElapsedCount() - 2) + "] " + TimeStringConvert.getTimeString(time1);
+ String elapsedTime2 = "[" + (timerCounter.getElapsedCount() - 1) + "] " + TimeStringConvert.getTimeString(time2);
area1.setText(elapsedTime1);
area1.invalidate();
area2.setText(elapsedTime2);
long time1 = (elapsedTimes.get(indexSize - 3) - elapsedTimes.get(indexSize - 4));
long time2 = (elapsedTimes.get(indexSize - 2) - elapsedTimes.get(indexSize - 3));
long time3 = (elapsedTimes.get(indexSize - 1) - elapsedTimes.get(indexSize - 2));
- String elapsedTime1 = "[" + (timerCounter.getElapsedCount() - 3) + "] " + MyTimerCounter.getTimeString(time1);
- String elapsedTime2 = "[" + (timerCounter.getElapsedCount() - 2) + "] " + MyTimerCounter.getTimeString(time2);
- String elapsedTime3 = "[" + (timerCounter.getElapsedCount() - 1) + "] " + MyTimerCounter.getTimeString(time3);
+ String elapsedTime1 = "[" + (timerCounter.getElapsedCount() - 3) + "] " + TimeStringConvert.getTimeString(time1);
+ String elapsedTime2 = "[" + (timerCounter.getElapsedCount() - 2) + "] " + TimeStringConvert.getTimeString(time2);
+ String elapsedTime3 = "[" + (timerCounter.getElapsedCount() - 1) + "] " + TimeStringConvert.getTimeString(time3);
area1.setText(elapsedTime1);
area1.invalidate();
area2.setText(elapsedTime2);
*
*
*/
+ @Override
+ protected void onUserLeaveHint ()
+ {
+ Log.v(TAG, "onUserLeaveHint() " );
+ // ハードキー(ホームボタン)が押されたとき、これがひろえるが...
+ }
+
+ /*
+ *
+ *
+ */
+ @Override
+ public boolean dispatchKeyEvent(KeyEvent event)
+ {
+ Log.v(TAG, "dispatchKeyEvent() : " + event.getAction() + " (" + event.getKeyCode() + ")");
+
+ return (super.dispatchKeyEvent(event));
+ }
+
+ /*
+ *
+ *
+ */
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event)
+ {
+ Log.v(TAG, "onKeyDown() : " + event.getAction() + " (" + event.getKeyCode() + ")" + keyCode);
+ if (event.getRepeatCount() == 0)
+ {
+ if (keyCode == KeyEvent.KEYCODE_STEM_1)
+ {
+ startTimer();
+ return (true);
+ }
+ else if (keyCode == KeyEvent.KEYCODE_STEM_2)
+ {
+ startTimer();
+ return (true);
+ }
+ else if (keyCode == KeyEvent.KEYCODE_STEM_3)
+ {
+ startTimer();
+ return (true);
+ }
+ }
+ return (super.onKeyDown(keyCode, event));
+ }
+
+ /*
+ *
+ *
+ */
/*
private String getElapsedTime()
{