import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageButton;
-import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
-import android.widget.ScrollView;
import android.widget.TextView;
import net.osdn.gokigen.joggingtimer.R;
import java.text.SimpleDateFormat;
import java.util.Date;
-import java.util.List;
import java.util.Locale;
/**
private final IWearableActivityControl controller = new WearableActivityController();
private MyTimerCounter counter = new MyTimerCounter();
private boolean isCounterLapTime = false;
- private boolean isLaptimeView = true;
+ private boolean isLaptimeView = false;
+ private int currentLapCount = 0;
private ITimerStopTrigger stopTrigger = null;
/**
{
Log.v(TAG, "startTimer() LAP TIME");
// チャタリング防止(ラップタイムとして、3秒以内は記録しないようにする)
- if (timerCounter.getCurrentElapsedTime() > 3000)
+ long currentElapsedTime = timerCounter.getCurrentElapsedTime();
+ if (currentElapsedTime > 3000)
{
+ currentLapCount++;
long lapTime = timerCounter.timeStamp();
+ long refLapTime = timerCounter.getReferenceLapTime(currentLapCount);
+ long diffTime = (refLapTime == 0) ? 0 : (currentElapsedTime - refLapTime);
controller.vibrate(50);
controller.getDataEntry().appendTimeData(lapTime);
+ controller.addTimeStamp(currentLapCount, currentElapsedTime, diffTime);
+ //Log.v(TAG, " [[[ " + currentLapCount + " lap: " + currentElapsedTime + " diff:" + diffTime + " (" + refLapTime + ") ]]]");
}
}
else
timerCounter.start();
MyTimerTrigger trigger = new MyTimerTrigger(this, 100, timerCounter);
trigger.startTimer();
+ currentLapCount = 0;
stopTrigger = trigger;
controller.timerStarted(true);
controller.vibrate(120);
{
timerCounter.reset();
controller.vibrate(50);
+ controller.clearTimeStamp();
+ currentLapCount = 0;
}
updateTimerLabel();
}
*/
private void updateElapsedTimesText()
{
-/*
- String dummy = "";
- TextView area1 = findViewById(R.id.sub_counter2);
- TextView area2 = findViewById(R.id.sub_counter3);
- TextView area3 = findViewById(R.id.sub_counter4);
- TextView area4 = findViewById(R.id.sub_counter5);
- TextView area5 = findViewById(R.id.sub_counter6);
-
- ITimerCounter timerCounter = counter;
- if (timerCounter != null)
- {
- List<Long> elapsedTimes = timerCounter.getTimerList();
- List<Long> referenceTimes = timerCounter.getReferenceTimeList();
- int indexSize = elapsedTimes.size();
- int referenceSize = referenceTimes.size();
- if (indexSize <= 1)
- {
- // ラップの記録がないので表示しません
- area1.setText(dummy);
- area1.invalidate();
- area2.setText(dummy);
- area2.invalidate();
- area3.setText(dummy);
- area3.invalidate();
- area4.setText(dummy);
- area4.invalidate();
- area5.setText(dummy);
- area5.invalidate();
- return;
- }
- if (indexSize <= 2)
- {
- // ラップが1つとれた場合
- long time = (elapsedTimes.get(indexSize - 1) - elapsedTimes.get(indexSize - 2));
- long refTime = (referenceSize >= indexSize) ? (referenceTimes.get(indexSize - 1) - referenceTimes.get(indexSize - 2)) : 0;
- String elapsedTime = "[" + (timerCounter.getElapsedCount() - 1) + "] " + TimeStringConvert.getTimeString(time);
- if (refTime > 0)
- {
- elapsedTime = elapsedTime + " ( " + TimeStringConvert.getDiffTimeString( time - refTime) + " )";
- }
- area1.setText(elapsedTime);
- area1.invalidate();
- area2.setText(dummy);
- area2.invalidate();
- area3.setText(dummy);
- area3.invalidate();
- area4.setText(dummy);
- area4.invalidate();
- area5.setText(dummy);
- area5.invalidate();
- return;
- }
-
- if (indexSize <= 3)
- {
- // ラップが3つとれた場合
- long time1 = (elapsedTimes.get(indexSize - 2) - elapsedTimes.get(indexSize - 3));
- long refTime1 = (referenceSize >= (indexSize - 1)) ? (referenceTimes.get(indexSize - 2) - referenceTimes.get(indexSize - 3)) : 0;
- long time2 = (elapsedTimes.get(indexSize - 1) - elapsedTimes.get(indexSize - 2));
- long refTime2 = (referenceSize >= indexSize) ? (referenceTimes.get(indexSize - 1) - referenceTimes.get(indexSize - 2)) : 0;
- String elapsedTime1 = "[" + (timerCounter.getElapsedCount() - 2) + "] " + TimeStringConvert.getTimeString(time1);
- if (refTime1 > 0)
- {
- elapsedTime1 = elapsedTime1 + " ( " + TimeStringConvert.getDiffTimeString( time1 - refTime1) + " )";
- }
- String elapsedTime2 = "[" + (timerCounter.getElapsedCount() - 1) + "] " + TimeStringConvert.getTimeString(time2);
- if (refTime2 > 0)
- {
- elapsedTime2 = elapsedTime2 + " ( " + TimeStringConvert.getDiffTimeString( time2 - refTime2) + " )";
- }
- area1.setText(elapsedTime1);
- area1.invalidate();
- area2.setText(elapsedTime2);
- area2.invalidate();
- area3.setText(dummy);
- area3.invalidate();
- area4.setText(dummy);
- area4.invalidate();
- area5.setText(dummy);
- area5.invalidate();
- return;
- }
-
- if (indexSize <= 4)
- {
- // ラップが4つとれた場合
- long time1 = (elapsedTimes.get(indexSize - 3) - elapsedTimes.get(indexSize - 4));
- long refTime1 = (referenceSize >= (indexSize - 2)) ? (referenceTimes.get(indexSize - 3) - referenceTimes.get(indexSize - 4)) : 0;
-
- long time2 = (elapsedTimes.get(indexSize - 2) - elapsedTimes.get(indexSize - 3));
- long refTime2 = (referenceSize >= (indexSize - 1)) ? (referenceTimes.get(indexSize - 2) - referenceTimes.get(indexSize - 3)) : 0;
-
- long time3 = (elapsedTimes.get(indexSize - 1) - elapsedTimes.get(indexSize - 2));
- long refTime3 = (referenceSize >= indexSize) ? (referenceTimes.get(indexSize - 1) - referenceTimes.get(indexSize - 2)) : 0;
-
- String elapsedTime1 = "[" + (timerCounter.getElapsedCount() - 3) + "] " + TimeStringConvert.getTimeString(time1);
- if (refTime1 > 0)
- {
- elapsedTime1 = elapsedTime1 + " ( " + TimeStringConvert.getDiffTimeString( time1 - refTime1) + " )";
- }
-
- String elapsedTime2 = "[" + (timerCounter.getElapsedCount() - 2) + "] " + TimeStringConvert.getTimeString(time2);
- if (refTime2 > 0)
- {
- elapsedTime2 = elapsedTime2 + " ( " + TimeStringConvert.getDiffTimeString( time2 - refTime2) + " )";
- }
-
- String elapsedTime3 = "[" + (timerCounter.getElapsedCount() - 1) + "] " + TimeStringConvert.getTimeString(time3);
- if (refTime3 > 0)
- {
- elapsedTime3 = elapsedTime3 + " ( " + TimeStringConvert.getDiffTimeString( time3 - refTime3) + " )";
- }
- area1.setText(elapsedTime1);
- area1.invalidate();
- area2.setText(elapsedTime2);
- area2.invalidate();
- area3.setText(elapsedTime3);
- area3.invalidate();
- area4.setText(dummy);
- area4.invalidate();
- area5.setText(dummy);
- area5.invalidate();
- return;
- }
-
- if (indexSize <= 5)
- {
- // ラップが5つとれた場合
- long time1 = (elapsedTimes.get(indexSize - 4) - elapsedTimes.get(indexSize - 5));
- long refTime1 = (referenceSize >= (indexSize - 3)) ? (referenceTimes.get(indexSize - 4) - referenceTimes.get(indexSize - 5)) : 0;
-
- long time2 = (elapsedTimes.get(indexSize - 3) - elapsedTimes.get(indexSize - 4));
- long refTime2 = (referenceSize >= (indexSize - 2)) ? (referenceTimes.get(indexSize - 3) - referenceTimes.get(indexSize - 4)) : 0;
-
- long time3 = (elapsedTimes.get(indexSize - 2) - elapsedTimes.get(indexSize - 3));
- long refTime3 = (referenceSize >= indexSize) ? (referenceTimes.get(indexSize - 2) - referenceTimes.get(indexSize - 3)) : 0;
-
- long time4 = (elapsedTimes.get(indexSize - 1) - elapsedTimes.get(indexSize - 2));
- long refTime4 = (referenceSize >= indexSize) ? (referenceTimes.get(indexSize - 1) - referenceTimes.get(indexSize - 2)) : 0;
-
- String elapsedTime1 = "[" + (timerCounter.getElapsedCount() - 4) + "] " + TimeStringConvert.getTimeString(time1);
- if (refTime1 > 0)
- {
- elapsedTime1 = elapsedTime1 + " ( " + TimeStringConvert.getDiffTimeString( time1 - refTime1) + " )";
- }
-
- String elapsedTime2 = "[" + (timerCounter.getElapsedCount() - 3) + "] " + TimeStringConvert.getTimeString(time2);
- if (refTime2 > 0)
- {
- elapsedTime2 = elapsedTime2 + " ( " + TimeStringConvert.getDiffTimeString( time2 - refTime2) + " )";
- }
-
- String elapsedTime3 = "[" + (timerCounter.getElapsedCount() - 2) + "] " + TimeStringConvert.getTimeString(time3);
- if (refTime3 > 0)
- {
- elapsedTime3 = elapsedTime3 + " ( " + TimeStringConvert.getDiffTimeString( time3 - refTime3) + " )";
- }
-
- String elapsedTime4 = "[" + (timerCounter.getElapsedCount() - 1) + "] " + TimeStringConvert.getTimeString(time3);
- if (refTime4 > 0)
- {
- elapsedTime4 = elapsedTime4 + " ( " + TimeStringConvert.getDiffTimeString( time4 - refTime4) + " )";
- }
-
- area1.setText(elapsedTime1);
- area1.invalidate();
- area2.setText(elapsedTime2);
- area2.invalidate();
- area3.setText(elapsedTime3);
- area3.invalidate();
- area4.setText(elapsedTime4);
- area4.invalidate();
- area5.setText(dummy);
- area5.invalidate();
- return;
- }
-
- // ラップが6つ以上ある場合
- long time1 = (elapsedTimes.get(indexSize - 5) - elapsedTimes.get(indexSize - 6));
- long refTime1 = (referenceSize >= (indexSize - 4)) ? (referenceTimes.get(indexSize - 5) - referenceTimes.get(indexSize - 6)) : 0;
-
- long time2 = (elapsedTimes.get(indexSize - 4) - elapsedTimes.get(indexSize - 5));
- long refTime2 = (referenceSize >= (indexSize - 3)) ? (referenceTimes.get(indexSize - 4) - referenceTimes.get(indexSize - 5)) : 0;
-
- long time3 = (elapsedTimes.get(indexSize - 3) - elapsedTimes.get(indexSize - 4));
- long refTime3 = (referenceSize >= indexSize - 2) ? (referenceTimes.get(indexSize - 3) - referenceTimes.get(indexSize - 4)) : 0;
-
- long time4 = (elapsedTimes.get(indexSize - 2) - elapsedTimes.get(indexSize - 3));
- long refTime4 = (referenceSize >= indexSize - 1) ? (referenceTimes.get(indexSize - 2) - referenceTimes.get(indexSize - 3)) : 0;
-
- long time5 = (elapsedTimes.get(indexSize - 1) - elapsedTimes.get(indexSize - 2));
- long refTime5 = (referenceSize >= indexSize) ? (referenceTimes.get(indexSize - 1) - referenceTimes.get(indexSize - 2)) : 0;
-
- String elapsedTime1 = "[" + (timerCounter.getElapsedCount() - 5) + "] " + TimeStringConvert.getTimeString(time1);
- if (refTime1 > 0)
- {
- elapsedTime1 = elapsedTime1 + " ( " + TimeStringConvert.getDiffTimeString( time1 - refTime1) + " )";
- }
-
- String elapsedTime2 = "[" + (timerCounter.getElapsedCount() - 4) + "] " + TimeStringConvert.getTimeString(time2);
- if (refTime2 > 0)
- {
- elapsedTime2 = elapsedTime2 + " ( " + TimeStringConvert.getDiffTimeString( time2 - refTime2) + " )";
- }
-
- String elapsedTime3 = "[" + (timerCounter.getElapsedCount() - 3) + "] " + TimeStringConvert.getTimeString(time3);
- if (refTime3 > 0)
- {
- elapsedTime3 = elapsedTime3 + " ( " + TimeStringConvert.getDiffTimeString( time3 - refTime3) + " )";
- }
-
- String elapsedTime4 = "[" + (timerCounter.getElapsedCount() - 2) + "] " + TimeStringConvert.getTimeString(time4);
- if (refTime4 > 0)
- {
- elapsedTime4 = elapsedTime4 + " ( " + TimeStringConvert.getDiffTimeString( time4 - refTime4) + " )";
- }
-
- String elapsedTime5 = "[" + (timerCounter.getElapsedCount() - 1) + "] " + TimeStringConvert.getTimeString(time5);
- if (refTime5 > 0)
- {
- elapsedTime5 = elapsedTime5 + " ( " + TimeStringConvert.getDiffTimeString( time5 - refTime5) + " )";
- }
-
- area1.setText(elapsedTime1);
- area1.invalidate();
- area2.setText(elapsedTime2);
- area2.invalidate();
- area3.setText(elapsedTime3);
- area3.invalidate();
- area4.setText(elapsedTime4);
- area4.invalidate();
- area5.setText(elapsedTime5);
- area5.invalidate();
- }
-*/
+ // Log.v(TAG, "updateElapsedTimesText()");
}
/**
}
}
- /*
+ /**
*
*
*/
// ハードキー(ホームボタン)が押されたとき、これがひろえるが...
}
- /*
+ /**
*
*
*/
e.printStackTrace();
}
}
-
runOnUiThread(new Runnable()
{
@Override
{
LapTimeGraphView graphView = findViewById(R.id.graph_area);
ListView listView = findViewById(R.id.laptime_list_area);
-
-/*
- TextView area1 = findViewById(R.id.sub_counter2);
- TextView area2 = findViewById(R.id.sub_counter3);
- TextView area3 = findViewById(R.id.sub_counter4);
- ScrollView scr = findViewById(R.id.scroll_area);
- LinearLayout lap = findViewById(R.id.lap_time_area);
-*/
if (isGraphics)
{
graphView.setITimerCounter(counter);
graphView.setVisibility(View.VISIBLE);
listView.setVisibility(View.GONE);
-/*
- scr.setVisibility(View.GONE);
- lap.setVisibility(View.GONE);
- area1.setVisibility(View.GONE);
- area2.setVisibility(View.GONE);
- area3.setVisibility(View.GONE);
-*/
}
else
{
graphView.setVisibility(View.GONE);
listView.setVisibility(View.VISIBLE);
-/*
- scr.setVisibility(View.VISIBLE);
- lap.setVisibility(View.VISIBLE);
- area1.setVisibility(View.VISIBLE);
- area2.setVisibility(View.VISIBLE);
- area3.setVisibility(View.VISIBLE);
-*/
}
- controller.vibrate(30);
+ //controller.vibrate(30);
}
catch (Exception e)
{
e.printStackTrace();
}
}
-
- /*
- *
- *
- */
-/*
- private String getElapsedTime()
- {
- String elapsedTime = "";
- ITimerCounter timerCounter = counter;
- if (timerCounter != null)
- {
- int count = timerCounter.getElapsedCount();
- if (count > 0)
- {
- elapsedTime = "[" + timerCounter.getElapsedCount() + "] " + MyTimerCounter.getTimeString(timerCounter.getCurrentElapsedTime());
- }
- }
- return (elapsedTime);
- }
-*/
}
lap.setOnClickListener(clickListener);
lap.setOnLongClickListener(clickListener);
- /*
- TextView sub2 = activity.findViewById(R.id.sub_counter2);
- sub2.setOnClickListener(clickListener);
- sub2.setOnLongClickListener(clickListener);
-
- TextView sub3 = activity.findViewById(R.id.sub_counter3);
- sub3.setOnClickListener(clickListener);
- sub3.setOnLongClickListener(clickListener);
-
- TextView sub4 = activity.findViewById(R.id.sub_counter4);
- sub4.setOnClickListener(clickListener);
- sub4.setOnLongClickListener(clickListener);
-
- TextView sub5 = activity.findViewById(R.id.sub_counter5);
- sub5.setOnClickListener(clickListener);
- sub5.setOnLongClickListener(clickListener);
-
- TextView sub6 = activity.findViewById(R.id.sub_counter6);
- sub6.setOnClickListener(clickListener);
- sub6.setOnLongClickListener(clickListener);
-*/
LapTimeGraphView graphView = activity.findViewById(R.id.graph_area);
graphView.setOnClickListener(clickListener);
graphView.setOnLongClickListener(clickListener);
*
*
*/
- private void closeDatabase() {
+ private void closeDatabase()
+ {
Log.v(TAG, "closeDatabase()");
Thread thread = new Thread(new Runnable() {
@Override
*
*/
@Override
- public void exitApplication(WearableActivity activity) {
+ public void exitApplication(WearableActivity activity)
+ {
Log.v(TAG, "exitApplication()");
closeDatabase();
}
@Override
- public void vibrate(final int duration) {
- try {
- if ((vibrator == null) || (!vibrator.hasVibrator())) {
+ public void vibrate(final int duration)
+ {
+ try
+ {
+ if ((vibrator == null) || (!vibrator.hasVibrator()))
+ {
return;
}
}
});
thread.start();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
e.printStackTrace();
}
}
}
@Override
- public void timerStarted(boolean isStarted) {
- try {
+ public void timerStarted(boolean isStarted)
+ {
+ try
+ {
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean(PREF_KEY_TIMER_STARTED, isStarted);
editor.apply();
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
e.printStackTrace();
}
}
@Override
+ public void addTimeStamp(long count, long lapTime, long diffTime)
+ {
+ if (lapTimeHolder != null)
+ {
+ lapTimeHolder.addLapTime(new LapTimeItems(count, lapTime, diffTime));
+ }
+ }
+
+ @Override
+ public void clearTimeStamp()
+ {
+ if (lapTimeHolder != null)
+ {
+ lapTimeHolder.clearLapTime();
+ }
+ }
+
+ @Override
public void setupReferenceData()
{
try