OSDN Git Service

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