OSDN Git Service

「お気に入り」設定の保存と展開の機能について、実装準備。それに合わせて一部リファクタリング。
[gokigen/A01c.git] / wear / src / main / java / jp / sfjp / gokigen / a01c / olycamerawrapper / CameraPowerOff.java
1 package jp.sfjp.gokigen.a01c.olycamerawrapper;
2
3 import android.content.Context;
4 import android.support.v7.preference.Preference;
5
6 import jp.sfjp.gokigen.a01c.ConfirmationDialog;
7 import jp.sfjp.gokigen.a01c.IChangeScene;
8 import jp.sfjp.gokigen.a01c.R;
9 import jp.sfjp.gokigen.a01c.preference.IPreferenceCameraPropertyAccessor;
10
11 /**
12  *  Preferenceがクリックされた時に処理するクラス
13  *
14  */
15 public class CameraPowerOff implements Preference.OnPreferenceClickListener, ConfirmationDialog.Callback
16 {
17     private final Context context;
18     private final IChangeScene changeScene;
19     private String preferenceKey = null;
20
21     /**
22      *   コンストラクタ
23      *
24      */
25     public CameraPowerOff(Context context, IChangeScene changeScene)
26     {
27         this.context = context;
28         this.changeScene = changeScene;
29     }
30
31     /**
32      *   クラスの準備
33      *
34      */
35     public void prepare()
36     {
37         // 何もしない
38     }
39
40     /**
41      *
42      *
43      * @param preference クリックしたpreference
44      * @return false : ハンドルしない / true : ハンドルした
45      */
46     @Override
47     public boolean onPreferenceClick(Preference preference)
48     {
49         if (!preference.hasKey())
50         {
51             return (false);
52         }
53
54         preferenceKey = preference.getKey();
55         if (preferenceKey.contains(IPreferenceCameraPropertyAccessor.EXIT_APPLICATION))
56         {
57
58             // 確認ダイアログの生成と表示
59             ConfirmationDialog dialog = new ConfirmationDialog(context);
60             dialog.show(R.string.dialog_title_confirmation, R.string.dialog_message_power_off, this);
61             return (true);
62         }
63         return (false);
64     }
65
66     @Override
67     public void confirm()
68     {
69         if (preferenceKey.contains(IPreferenceCameraPropertyAccessor.EXIT_APPLICATION))
70         {
71             // カメラの電源をOFFにしたうえで、アプリケーションを終了する。
72             changeScene.exitApplication();
73         }
74     }
75 }