OSDN Git Service

インターバル撮影機能を動作するようにする。
[gokigen/A01c.git] / wear / src / main / java / jp / sfjp / gokigen / a01c / liveview / button / PushedButton6.java
1 package jp.sfjp.gokigen.a01c.liveview.button;
2
3 import android.content.Context;
4 import android.content.SharedPreferences;
5 import android.support.v7.preference.PreferenceManager;
6
7 import jp.sfjp.gokigen.a01c.IShowInformation;
8 import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
9
10 class PushedButton6 implements IPushedButton
11 {
12     private final SharedPreferences preferences;
13     private final ICameraFeatureDispatcher dispatcher;
14
15     PushedButton6(Context context, ICameraFeatureDispatcher dispatcher)
16     {
17         preferences = PreferenceManager.getDefaultSharedPreferences(context);
18         this.dispatcher = dispatcher;
19     }
20
21     @Override
22     public boolean pushedButton(boolean isLongClick)
23     {
24         int defaultAction;// = ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
25         String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON6;
26         if (isLongClick)
27         {
28             preference_action_id = preference_action_id + ICameraFeatureDispatcher.ACTION_SECOND_CHOICE;
29         }
30         String takeMode = dispatcher.getTakeMode();
31         switch (takeMode)
32         {
33             case "P":
34                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
35                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_EXPOSURE : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
36                 break;
37
38             case "A":
39                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
40                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_APERATURE : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
41                 break;
42
43             case "S":
44                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
45                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_SHUTTER : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
46                 break;
47
48             case "M":
49                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
50                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_WB : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
51                 break;
52
53             case "ART":
54                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
55                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_BRACKET_ART_FILTER : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
56                 break;
57
58             case "Movie":
59                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
60                 defaultAction = ICameraFeatureDispatcher.FEATURE_CONTROL_MOVIE;
61                 break;
62
63             case "iAuto":
64             default:
65                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
66                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHOT_INTERVAL_5SEC : ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
67
68                 break;
69         }
70         return (dispatcher.dispatchAction(IShowInformation.BUTTON_6, preferences.getInt(preference_action_id, defaultAction)));
71     }
72 }