OSDN Git Service

撮影モードがiAuto時に、パワーズームのズームイン・ズームアウトを実行できるようにした。
[gokigen/A01c.git] / wear / src / main / java / jp / sfjp / gokigen / a01c / liveview / button / PushedButton3.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 PushedButton3 implements IPushedButton
11 {
12     private final SharedPreferences preferences;
13     private final ICameraFeatureDispatcher dispatcher;
14
15     PushedButton3(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_ACTION_NONE;
25         String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON3;
26         if (isLongClick) {
27             preference_action_id = preference_action_id + ICameraFeatureDispatcher.ACTION_SECOND_CHOICE;
28         }
29         String takeMode = dispatcher.getTakeMode();
30         switch (takeMode) {
31             case "P":
32                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
33                 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_WB_UP : ICameraFeatureDispatcher.FEATURE_COLORTONE_UP;
34                 break;
35
36             case "A":
37                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
38                 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_WB_UP : ICameraFeatureDispatcher.FEATURE_APERTURE_UP;
39                 break;
40
41             case "S":
42                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
43                 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_WB_UP : ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_UP;
44                 break;
45
46             case "M":
47                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
48                 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_WB_UP : ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_UP;
49                 break;
50
51             case "ART":
52                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
53                 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_WB_UP : ICameraFeatureDispatcher.FEATURE_ART_FILTER_UP;
54                 break;
55
56             case "iAuto":
57                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
58                 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_LENS_ZOOMIN_2X : ICameraFeatureDispatcher.FEATURE_LENS_ZOOMIN;
59                 break;
60
61             case "Movie":
62                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
63                 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_WB_UP : ICameraFeatureDispatcher.FEATURE_COLORTONE_UP;
64                 break;
65
66             default:
67                 break;
68         }
69         return (dispatcher.dispatchAction(IShowInformation.BUTTON_3, preferences.getInt(preference_action_id, defaultAction)));
70     }
71 }