1 package net.osdn.gokigen.joggingtimer.recordlist;
3 import android.database.Cursor;
4 import android.support.wearable.activity.WearableActivity;
5 import android.util.Log;
7 import net.osdn.gokigen.joggingtimer.storage.ITimeEntryDatabase;
8 import net.osdn.gokigen.joggingtimer.storage.ITimeEntryDatabaseCallback;
9 import net.osdn.gokigen.joggingtimer.storage.TimeEntryDatabaseFactory;
10 import net.osdn.gokigen.joggingtimer.utilities.IconIdProvider;
11 import net.osdn.gokigen.joggingtimer.utilities.TimeStringConvert;
13 import static android.provider.BaseColumns._ID;
14 import static net.osdn.gokigen.joggingtimer.storage.contract.TimeEntryIndex.EntryIndex.COLUMN_NAME_ICON_ID;
15 import static net.osdn.gokigen.joggingtimer.storage.contract.TimeEntryIndex.EntryIndex.COLUMN_NAME_TIME_DURATION;
16 import static net.osdn.gokigen.joggingtimer.storage.contract.TimeEntryIndex.EntryIndex.COLUMN_NAME_TITLE;
22 class RecordSummarySetup implements ITimeEntryDatabaseCallback
24 private final String TAG = toString();
25 private final WearableActivity activity;
26 private final IDatabaseReadyNotify callback;
27 private final IDetailLauncher detailLauncher;
28 private final IRecordOperation operation;
29 private ITimeEntryDatabase database = null;
31 RecordSummarySetup(WearableActivity activity, IDatabaseReadyNotify callback, IDetailLauncher detailLauncher, IRecordOperation operation)
33 this.activity = activity;
34 this.callback = callback;
35 this.detailLauncher = detailLauncher;
36 this.operation = operation;
41 Log.v(TAG, "setup()");
42 database = new TimeEntryDatabaseFactory(activity, this).getEntryDatabase();
43 Thread thread = new Thread(new Runnable() {
61 public void prepareFinished(boolean isReady)
65 callback.databaseSetupFinished(false);
68 Thread thread = new Thread(new Runnable() {
75 operation.clearRecord();
76 Cursor cursor = database.getAllIndexData();
77 while (cursor.moveToNext())
79 long dataId = cursor.getLong(cursor.getColumnIndex(_ID));
80 String title = cursor.getString(cursor.getColumnIndex(COLUMN_NAME_TITLE));
81 //String memo = cursor.getString(cursor.getColumnIndex(COLUMN_NAME_MEMO));
82 int iconId = IconIdProvider.getIconResourceId(cursor.getInt(cursor.getColumnIndex(COLUMN_NAME_ICON_ID)));
83 //long startTime = cursor.getLong(cursor.getColumnIndex(COLUMN_NAME_START_TIME));
84 long duration = cursor.getLong(cursor.getColumnIndex(COLUMN_NAME_TIME_DURATION));
85 String memo = TimeStringConvert.getTimeString(duration).toString();
86 operation.addRecord(new DataRecord(dataId, iconId, title, memo, detailLauncher));
88 activity.runOnUiThread(new Runnable()
93 operation.dataSetChangeFinished();
102 callback.databaseSetupFinished(ret);
109 public void dataEntryFinished(OperationType operationType, boolean result, long id, String title)
115 public void timeEntryFinished(OperationType operationType, boolean result, long indexId, long dataId)
138 interface IDatabaseReadyNotify
140 void databaseSetupFinished(boolean result);