1 package net.osdn.gokigen.joggingtimer.recorddetail;
3 import android.os.Bundle;
4 import android.support.v7.widget.DividerItemDecoration;
5 import android.support.wear.widget.WearableLinearLayoutManager;
6 import android.support.wear.widget.WearableRecyclerView;
7 import android.support.wear.widget.drawer.WearableActionDrawerView;
8 import android.support.wearable.activity.WearableActivity;
9 import android.util.Log;
10 import android.view.MenuItem;
11 import android.widget.Toast;
13 import net.osdn.gokigen.joggingtimer.R;
15 public class DetailActivity extends WearableActivity implements RecordDetailSetup.IDatabaseReadyNotify, MenuItem.OnMenuItemClickListener
17 private final String TAG = toString();
18 public static final String INTENT_EXTRA_DATA_ID = "Detail.dataId";
20 private RecordDetailAdapter detailAdapter = null;
21 private RecordDetailSetup setupper = null;
23 private WearableActionDrawerView actionDrawerView = null;
29 protected void onCreate(Bundle savedInstanceState)
31 super.onCreate(savedInstanceState);
32 Log.v(TAG, "onCreate()");
34 setContentView(R.layout.activity_detail);
41 WearableRecyclerView view = findViewById(R.id.recycler_detail_view);
42 detailAdapter = new RecordDetailAdapter();
43 WearableLinearLayoutManager layoutManager = new WearableLinearLayoutManager(this);
45 view.setCircularScrollingGestureEnabled(getResources().getConfiguration().isScreenRound());
47 DividerItemDecoration dividerDecoration = new DividerItemDecoration(view.getContext(), layoutManager.getOrientation());
49 view.addItemDecoration(dividerDecoration);
50 view.setLayoutManager(layoutManager);
51 view.setAdapter(detailAdapter);
59 // Bottom Action Drawer
60 actionDrawerView = findViewById(R.id.bottom_action_drawer);
61 actionDrawerView.getController().peekDrawer();
62 actionDrawerView.setOnMenuItemClickListener(this);
70 protected void onSaveInstanceState(Bundle outState)
72 super.onSaveInstanceState(outState);
79 protected void onRestoreInstanceState(Bundle savedInstanceState)
81 super.onRestoreInstanceState(savedInstanceState);
88 protected void onResume()
91 Log.v(TAG, "onResume() ");
98 protected void onPause()
101 Log.v(TAG, "onPause()");
109 public void onStart()
114 long indexId = getIntent().getLongExtra(INTENT_EXTRA_DATA_ID, -1);
115 Log.v(TAG, "onResume() " + indexId);
117 setupper = new RecordDetailSetup(this, indexId, this, detailAdapter);
134 Log.v(TAG, "onStop()");
138 if (setupper != null)
140 setupper.closeDatabase();
156 public void onEnterAmbient(Bundle ambientDetails)
158 super.onEnterAmbient(ambientDetails);
159 Log.v(TAG, "onEnterAmbient()");
167 public void onExitAmbient()
169 super.onExitAmbient();
170 Log.v(TAG, "onExitAmbient()");
178 public void onUpdateAmbient()
180 super.onUpdateAmbient();
181 Log.v(TAG, "onUpdateAmbient()");
189 public void databaseSetupFinished(boolean result)
191 Log.v(TAG, "databaseSetupFinished() : " + result);
199 public boolean onMenuItemClick(MenuItem item)
201 Log.v(TAG, "onMenuItemClick(): " + item);
204 final int itemId = item.getItemId();
205 String toastMessage = "";
208 case R.id.menu_edit_title:
210 toastMessage = getString(R.string.action_edit_title);
214 case R.id.menu_set_reference:
216 toastMessage = getString(R.string.action_set_reference);
220 case R.id.menu_set_icon:
221 // アイコンセレクタを表示して、設定する
222 toastMessage = "SET ICON.(TBD)";
231 actionDrawerView.getController().closeDrawer();
233 if (toastMessage.length() > 0)
235 Toast toast = Toast.makeText(getApplicationContext(), toastMessage, Toast.LENGTH_SHORT);