From: MRSa Date: Wed, 21 Mar 2018 05:42:39 +0000 (+0900) Subject: 基準値データを読み込むようにしてみた。 X-Git-Url: http://git.osdn.net/view?p=gokigen%2FJoggingTimer.git;a=commitdiff_plain;h=527abf568eafbb67eadf55286ec1df890c370293 基準値データを読み込むようにしてみた。 --- diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ButtonClickListener.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ButtonClickListener.java index 2973ec5..4da9f52 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ButtonClickListener.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ButtonClickListener.java @@ -7,8 +7,6 @@ import android.view.View; import net.osdn.gokigen.joggingtimer.R; -import java.util.ArrayList; - /** * * @@ -76,15 +74,6 @@ public class ButtonClickListener implements View.OnClickListener, View.OnLongCli return (ret); } - /** - * 中継...格好悪い... - * - */ - void dataIsReloaded(ArrayList list) - { - callback.dataIsReloaded(list); - } - @Override public int describeContents() { diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IClickCallback.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IClickCallback.java index 9776213..d44c397 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IClickCallback.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IClickCallback.java @@ -1,7 +1,5 @@ package net.osdn.gokigen.joggingtimer.stopwatch; -import java.util.ArrayList; - public interface IClickCallback { void clickedCounter(); @@ -13,6 +11,4 @@ public interface IClickCallback boolean pushedBtn2(); boolean pushedBtn3(); - void dataIsReloaded(ArrayList list); - } diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IDataEntry.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IDataEntry.java index 195c2ee..55e4313 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IDataEntry.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IDataEntry.java @@ -4,7 +4,7 @@ interface IDataEntry { //void entryData(String title, String memo, int icon, long startTime, long endTime, List elapsedTime); - void createIndex(String title, String memo, int icon, long startTime); + void createIndex(String title, long startTime); void appendTimeData(long elapsedTime); void finishTimeData(long startTime, long endTime); diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IDatabaseReloadCallback.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IDatabaseReloadCallback.java new file mode 100644 index 0000000..194605b --- /dev/null +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IDatabaseReloadCallback.java @@ -0,0 +1,13 @@ +package net.osdn.gokigen.joggingtimer.stopwatch; + +import java.util.ArrayList; + +/** + * + * + */ +public interface IDatabaseReloadCallback +{ + void dataIsReloaded(ArrayList list); + void referenceDataIsReloaded(ArrayList list); +} diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ITimerCounter.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ITimerCounter.java index 397f30a..8030990 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ITimerCounter.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/ITimerCounter.java @@ -1,6 +1,5 @@ package net.osdn.gokigen.joggingtimer.stopwatch; -import java.util.ArrayList; import java.util.List; public interface ITimerCounter @@ -13,6 +12,7 @@ public interface ITimerCounter void reset(); List getTimerList(); + List getReferenceTimeList(); int getElapsedCount(); long getPastTime(); long getLastElapsedTime(); @@ -21,5 +21,5 @@ public interface ITimerCounter long getStartTime(); long getStopTime(); - void reloadTimerCounter(long startTime, ArrayList timelist); + void setCallback(MyTimerCounter.ICounterStatusNotify callback); } diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IWearableActivityControl.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IWearableActivityControl.java index c26b270..31107f6 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IWearableActivityControl.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/IWearableActivityControl.java @@ -9,7 +9,7 @@ import android.support.wearable.activity.WearableActivity; */ public interface IWearableActivityControl { - void setup(WearableActivity activity, IClickCallback callback); + void setup(WearableActivity activity, IClickCallback callback, IDatabaseReloadCallback dbCallback); void setupDatabase(WearableActivity activity, boolean isReset); void exitApplication(WearableActivity activity); @@ -18,4 +18,5 @@ public interface IWearableActivityControl IDataEntry getDataEntry(); void timerStarted(boolean isStarted); + void setupReferenceData(); } 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 538fd19..68c2bfa 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 @@ -26,7 +26,7 @@ import java.util.Locale; * * */ -public class MainActivity extends WearableActivity implements IClickCallback, MyTimerTrigger.ITimeoutReceiver +public class MainActivity extends WearableActivity implements IClickCallback, MyTimerTrigger.ITimeoutReceiver, MyTimerCounter.ICounterStatusNotify { private final String TAG = toString(); private final IWearableActivityControl controller = new WearableActivityController(); @@ -44,7 +44,7 @@ public class MainActivity extends WearableActivity implements IClickCallback, My setContentView(R.layout.activity_main); - controller.setup(this, this); + controller.setup(this, this, counter); // Enables Always-on setAmbientEnabled(); @@ -54,30 +54,6 @@ public class MainActivity extends WearableActivity implements IClickCallback, My * */ @Override - protected void onSaveInstanceState(Bundle outState) - { - super.onSaveInstanceState(outState); - - /* ここで状態を保存 */ - outState.putParcelable("timerCounter", counter); - } - - /** - * - */ - @Override - protected void onRestoreInstanceState(Bundle savedInstanceState) - { - super.onRestoreInstanceState(savedInstanceState); - - /* ここで保存した状態を読み出して設定 */ - counter = savedInstanceState.getParcelable("timerCounter"); - } - - /** - * - */ - @Override protected void onResume() { super.onResume(); @@ -103,6 +79,8 @@ public class MainActivity extends WearableActivity implements IClickCallback, My } } } + controller.setupReferenceData(); + if (isStartTimer) { // start a timer! @@ -129,6 +107,9 @@ public class MainActivity extends WearableActivity implements IClickCallback, My { super.onStart(); Log.v(TAG, "onStart()"); + + // データベースのセットアップ + counter.setCallback(this); controller.setupDatabase(this, false); } @@ -327,7 +308,7 @@ public class MainActivity extends WearableActivity implements IClickCallback, My 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()); + controller.getDataEntry().createIndex(title, timerCounter.getStartTime()); } updateTimerLabel(); } @@ -425,35 +406,6 @@ public class MainActivity extends WearableActivity implements IClickCallback, My return (false); } - @Override - public void dataIsReloaded(ArrayList 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(); - } - }); - } - /** * * @@ -660,6 +612,36 @@ public class MainActivity extends WearableActivity implements IClickCallback, My return (super.onKeyDown(keyCode, event)); } + @Override + public void counterStatusChanged(boolean forceStartTimer) + { + if (forceStartTimer) + { + try + { + ITimerCounter timerCounter = counter; + if (timerCounter != null) + { + MyTimerTrigger trigger = new MyTimerTrigger(this, 100, timerCounter); + trigger.startTimer(); + } + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + runOnUiThread(new Runnable() + { + @Override + public void run() + { + updateTimerLabel(); + } + }); + } + /* * * diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MyTimerCounter.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MyTimerCounter.java index d4e4f3d..b7f8131 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MyTimerCounter.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/MyTimerCounter.java @@ -3,20 +3,23 @@ package net.osdn.gokigen.joggingtimer.stopwatch; import java.util.ArrayList; import java.util.List; -import android.os.Parcel; -import android.os.Parcelable; -import android.os.SystemClock; +import android.support.annotation.NonNull; +import android.util.Log; /** * My Timer counter * */ -public class MyTimerCounter implements Parcelable, ITimerCounter +public class MyTimerCounter implements ITimerCounter, IDatabaseReloadCallback { + private final String TAG = toString(); + //private static final long COUNTER_UPPERLIMIT = (80 / (1000 * 60 * 60)); // 80h private boolean isTimerStopped = true; + private ICounterStatusNotify callback = null; private long startTime = 0; private long stopTime = 0; private List elapsedTime = null; + private List referenceTime = null; MyTimerCounter() { @@ -50,11 +53,12 @@ public class MyTimerCounter implements Parcelable, ITimerCounter { if (isTimerStopped) { - startTime = SystemClock.elapsedRealtime(); + startTime = System.currentTimeMillis(); stopTime = 0; elapsedTime.clear(); elapsedTime.add(startTime); isTimerStopped = false; + Log.v(TAG, "start() startTime : " + startTime); } } @@ -64,7 +68,7 @@ public class MyTimerCounter implements Parcelable, ITimerCounter long timeToSet = 0; if (!isTimerStopped) { - timeToSet = SystemClock.elapsedRealtime(); + timeToSet = System.currentTimeMillis(); elapsedTime.add(timeToSet); } return (timeToSet); @@ -75,7 +79,7 @@ public class MyTimerCounter implements Parcelable, ITimerCounter { if (!isTimerStopped) { - stopTime = SystemClock.elapsedRealtime(); + stopTime = System.currentTimeMillis(); elapsedTime.add(stopTime); isTimerStopped = true; } @@ -99,6 +103,12 @@ public class MyTimerCounter implements Parcelable, ITimerCounter } @Override + public List getReferenceTimeList() + { + return (referenceTime); + } + + @Override public int getElapsedCount() { return (elapsedTime.size()); @@ -107,7 +117,7 @@ public class MyTimerCounter implements Parcelable, ITimerCounter @Override public long getPastTime() { - long currentTime = SystemClock.elapsedRealtime(); + long currentTime = System.currentTimeMillis(); if (isTimerStopped) { if (elapsedTime.size() == 0) @@ -137,7 +147,7 @@ public class MyTimerCounter implements Parcelable, ITimerCounter @Override public long getCurrentElapsedTime() { - long currentTime = SystemClock.elapsedRealtime(); + long currentTime = System.currentTimeMillis(); try { return (currentTime - (elapsedTime.get(elapsedTime.size() - 1))); @@ -162,41 +172,50 @@ public class MyTimerCounter implements Parcelable, ITimerCounter } @Override - public int describeContents() + public void setCallback(ICounterStatusNotify callback) { - return 0; + this.callback = callback; } @Override - public void writeToParcel(Parcel dest, int flags) - { - dest.writeInt(isTimerStopped ? 1 : 0); - dest.writeLong(startTime); - dest.writeLong(stopTime); - dest.writeList(elapsedTime); - } - - public static final Parcelable.Creator CREATOR = new Parcelable.Creator() + public void dataIsReloaded(@NonNull ArrayList timelist) { - public MyTimerCounter createFromParcel(Parcel in) + try { - return (new MyTimerCounter(in)); + long startTime = timelist.get(0); + long pastTime = System.currentTimeMillis() - startTime; + Log.v(TAG, "pastTime : " + pastTime); + this.startTime = startTime; + elapsedTime = null; + elapsedTime = new ArrayList<>(timelist); + stopTime = 0; + isTimerStopped = false; + if (callback != null) + { + callback.counterStatusChanged(true); + } } - - public MyTimerCounter[] newArray(int size) + catch (Exception e) { - return (new MyTimerCounter[size]); + e.printStackTrace(); } - }; + } - private MyTimerCounter(Parcel in) + @Override + public void referenceDataIsReloaded(ArrayList timelist) { try { - isTimerStopped = (in.readInt() == 1); - startTime = in.readLong(); - stopTime = in.readLong(); - in.readList(elapsedTime, Long.class.getClassLoader()); + referenceTime = null; + if (timelist != null) + { + referenceTime = new ArrayList<>(timelist); + if (callback != null) + { + callback.counterStatusChanged(false); + } + Log.v(TAG, "reference lap time : " + referenceTime.size()); + } } catch (Exception e) { @@ -204,16 +223,8 @@ public class MyTimerCounter implements Parcelable, ITimerCounter } } - /** - * - * - */ - public void reloadTimerCounter(long startTime, ArrayList timelist) + public interface ICounterStatusNotify { - this.startTime = startTime; - elapsedTime = null; - elapsedTime = new ArrayList<>(timelist); - stopTime = 0; - isTimerStopped = false; + void counterStatusChanged(boolean forceStartTimer); } } diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/WearableActivityController.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/WearableActivityController.java index 913eebc..a3987d6 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/WearableActivityController.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/stopwatch/WearableActivityController.java @@ -37,22 +37,23 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry private SharedPreferences preferences = null; private final ButtonClickListener clickListener = new ButtonClickListener(); private ITimeEntryDatabase database = null; + private IDatabaseReloadCallback dbCallback = null; private boolean isReadyDatabase = false; + private boolean pendingLoadReference = false; private long recordingIndexId = -1; private Vibrator vibrator = null; //private PowerManager powerManager = null; - WearableActivityController() - { + WearableActivityController() { Log.v(TAG, "WearableActivityController()"); } @Override - public void setup(WearableActivity activity, IClickCallback callback) - { + public void setup(WearableActivity activity, IClickCallback callback, IDatabaseReloadCallback dbCallback) { this.preferences = PreferenceManager.getDefaultSharedPreferences(activity); + this.dbCallback = dbCallback; setupPermissions(activity); setupHardwares(activity); setupScreen(activity); @@ -64,11 +65,9 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry * * */ - private void setupPermissions(WearableActivity activity) - { - if ((ContextCompat.checkSelfPermission(activity, Manifest.permission.VIBRATE) != PackageManager.PERMISSION_GRANTED)|| - (ContextCompat.checkSelfPermission(activity, Manifest.permission.WAKE_LOCK) != PackageManager.PERMISSION_GRANTED)) - { + private void setupPermissions(WearableActivity activity) { + if ((ContextCompat.checkSelfPermission(activity, Manifest.permission.VIBRATE) != PackageManager.PERMISSION_GRANTED) || + (ContextCompat.checkSelfPermission(activity, Manifest.permission.WAKE_LOCK) != PackageManager.PERMISSION_GRANTED)) { ActivityCompat.requestPermissions(activity, new String[]{ Manifest.permission.VIBRATE, @@ -82,8 +81,7 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry * * */ - private void setupHardwares(WearableActivity activity) - { + private void setupHardwares(WearableActivity activity) { // バイブレータをつかまえる vibrator = (Vibrator) activity.getSystemService(VIBRATOR_SERVICE); @@ -95,38 +93,29 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry * * */ - private void setupScreen(WearableActivity activity) - { + private void setupScreen(WearableActivity activity) { TextView mTextView = activity.findViewById(R.id.text); - if (mTextView != null) - { + if (mTextView != null) { mTextView.setText(R.string.app_name); } } /** - * データベースのセットアップ - * + * データベースのセットアップ */ @Override - public void setupDatabase(final WearableActivity activity, final boolean isInitialize) - { + public void setupDatabase(final WearableActivity activity, final boolean isInitialize) { database = new TimeEntryDatabaseFactory(activity, this).getEntryDatabase(); Thread thread = new Thread(new Runnable() { @Override - public void run() - { - try - { - if (isInitialize) - { + public void run() { + try { + if (isInitialize) { // 既存のデータベースを消去する場合、、、 TimeEntryDatabaseFactory.deleteDatabase(activity); } database.prepare(); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } } @@ -135,13 +124,10 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry } /** - * リスナのセットアップ - * + * リスナのセットアップ */ - private void setupListeners(WearableActivity activity, IClickCallback callback) - { - try - { + private void setupListeners(WearableActivity activity, IClickCallback callback) { + try { clickListener.setCallback(callback); ImageButton btn1 = activity.findViewById(R.id.btn1); btn1.setOnClickListener(clickListener); @@ -158,9 +144,7 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry TextView main = activity.findViewById(R.id.main_counter); main.setOnClickListener(clickListener); main.setOnLongClickListener(clickListener); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } } @@ -169,24 +153,18 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry * * */ - private void closeDatabase() - { + private void closeDatabase() { Log.v(TAG, "closeDatabase()"); Thread thread = new Thread(new Runnable() { @Override - public void run() - { + public void run() { // DBのクローズ実行 - if (isReadyDatabase) - { + if (isReadyDatabase) { isReadyDatabase = false; - try - { + try { Log.v(TAG, "closeDatabase() EXECUTE..."); database.close(); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } } @@ -195,29 +173,20 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry thread.start(); } - private int convertIconId(int iconId) - { - return (iconId); - } - /** * * */ @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; } @@ -228,27 +197,41 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry } }); thread.start(); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } } @Override - public IDataEntry getDataEntry() - { + public IDataEntry getDataEntry() { return (this); } @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) { + e.printStackTrace(); + } + } + + @Override + public void setupReferenceData() + { + try + { + if (isReadyDatabase) + { + loadReferenceData(); + pendingLoadReference = false; + } + else + { + pendingLoadReference = true; + } } catch (Exception e) { @@ -262,11 +245,21 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry Log.v(TAG, "database prepareFinished() : " + isReady); isReadyDatabase = isReady; - try - { + try { boolean isStarted = preferences.getBoolean(PREF_KEY_TIMER_STARTED, false); recordingIndexId = preferences.getLong(PREF_KEY_TIMER_INDEXID, -1); - if ((isStarted)&&(recordingIndexId >= 0)&&(isReadyDatabase)) + + Log.v(TAG, "isStarted : " + isStarted + " indexId : " + recordingIndexId); + + // load reference data + if (pendingLoadReference) + { + loadReferenceData(); + pendingLoadReference = false; + } + + // load current lap time list + if ((isStarted) && (recordingIndexId >= 0) && (isReadyDatabase)) { ArrayList list = new ArrayList<>(); Cursor cursor = database.getAllDetailData(recordingIndexId); @@ -274,7 +267,7 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry { list.add(cursor.getLong(cursor.getColumnIndex(TimeEntryData.EntryData.COLUMN_NAME_TIME_ENTRY))); } - clickListener.dataIsReloaded(list); + dbCallback.dataIsReloaded(list); } } catch (Exception e) @@ -283,6 +276,27 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry } } + private void loadReferenceData() + { + // load reference data + try + { + ArrayList refList = null; + Cursor cursor = database.getAllReferenceDetailData(); + if (cursor != null) { + refList = new ArrayList<>(); + while (cursor.moveToNext()) + { + refList.add(cursor.getLong(cursor.getColumnIndex(TimeEntryData.EntryData.COLUMN_NAME_TIME_ENTRY))); + } + } + dbCallback.referenceDataIsReloaded(refList); + } + catch (Exception e) + { + e.printStackTrace(); + } + } @Override public void timeEntryFinished(OperationType operationType, boolean result, long indexId, long dataId) @@ -317,8 +331,10 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry @Override - public void createIndex(final String title, final String memo, final int icon, final long startTime) + public void createIndex(final String title, final long startTime) { + final String memo = ""; + final int icon = 0; Log.v(TAG, "createIndex() " + title + " " + startTime); Thread thread = new Thread(new Runnable() { @Override @@ -328,7 +344,7 @@ class WearableActivityController implements IWearableActivityControl, ITimeEntry { try { - database.createIndexData(title, memo, convertIconId(icon), startTime); + database.createIndexData(title, memo, icon, startTime); } catch (Exception e) { diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/storage/ITimeEntryDatabase.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/storage/ITimeEntryDatabase.java index 184876a..91a6bae 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/storage/ITimeEntryDatabase.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/storage/ITimeEntryDatabase.java @@ -13,6 +13,7 @@ public interface ITimeEntryDatabase Cursor getAllIndexData(); Cursor getAllDetailData(long indexId); + Cursor getAllReferenceDetailData(); void deleteTimeEntryData(long indexId); diff --git a/wear/src/main/java/net/osdn/gokigen/joggingtimer/storage/TimeEntryDatabase.java b/wear/src/main/java/net/osdn/gokigen/joggingtimer/storage/TimeEntryDatabase.java index f6c4972..2986f09 100644 --- a/wear/src/main/java/net/osdn/gokigen/joggingtimer/storage/TimeEntryDatabase.java +++ b/wear/src/main/java/net/osdn/gokigen/joggingtimer/storage/TimeEntryDatabase.java @@ -72,7 +72,7 @@ class TimeEntryDatabase implements ITimeEntryDatabase @Override public Cursor getAllIndexData() { - return (db.rawQuery("SELECT * FROM " + TimeEntryIndex.EntryIndex.TABLE_NAME + " ORDER BY " + TimeEntryIndex.EntryIndex.COLUMN_NAME_START_TIME, null)); + return (db.rawQuery("SELECT * FROM " + TimeEntryIndex.EntryIndex.TABLE_NAME + " ORDER BY " + TimeEntryIndex.EntryIndex.COLUMN_NAME_START_TIME + " DESC", null)); } @Override @@ -82,6 +82,17 @@ class TimeEntryDatabase implements ITimeEntryDatabase } @Override + public Cursor getAllReferenceDetailData() + { + String queryString = "SELECT * FROM " + TimeEntryIndex.EntryIndex.TABLE_NAME + " INNER JOIN " + TimeEntryData.EntryData.TABLE_NAME + + " ON " + TimeEntryIndex.EntryIndex.TABLE_NAME + "." + TimeEntryIndex.EntryIndex._ID + " = " + TimeEntryData.EntryData.TABLE_NAME+ "." + TimeEntryData.EntryData.COLUMN_NAME_INDEX_ID + + " WHERE " + TimeEntryIndex.EntryIndex.TABLE_NAME+ "." + TimeEntryIndex.EntryIndex.COLUMN_NAME_ICON_ID + " = " + REFERENCE_ICON_ID + + " ORDER BY " + TimeEntryData.EntryData.TABLE_NAME+ "." + TimeEntryData.EntryData.COLUMN_NAME_TIME_ENTRY; + //Log.v(TAG, "Query : " + queryString); + return (db.rawQuery(queryString, null)); + } + + @Override public void deleteTimeEntryData(long indexId) { int delRecord = db.delete(TimeEntryData.EntryData.TABLE_NAME, TimeEntryData.EntryData.COLUMN_NAME_INDEX_ID + " = " + indexId, null);