OSDN Git Service

APIレベルを30に引き上げる。その2
[gokigen/A01c.git] / wear / src / main / java / jp / sfjp / gokigen / a01c / liveview / button / PushedButton4.java
1 package jp.sfjp.gokigen.a01c.liveview.button;
2
3 import android.content.Context;
4 import android.content.SharedPreferences;
5
6 import androidx.preference.PreferenceManager;
7
8 import jp.sfjp.gokigen.a01c.IShowInformation;
9 import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
10
11 class PushedButton4 implements IPushedButton
12 {
13     private final SharedPreferences preferences;
14     private final ICameraFeatureDispatcher dispatcher;
15
16     PushedButton4(Context context, ICameraFeatureDispatcher dispatcher)
17     {
18         preferences = PreferenceManager.getDefaultSharedPreferences(context);
19         this.dispatcher = dispatcher;
20     }
21
22     @Override
23     public boolean pushedButton(boolean isLongClick)
24     {
25         int defaultAction = ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
26         String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON4;
27         if (isLongClick)
28         {
29             preference_action_id = preference_action_id + ICameraFeatureDispatcher.ACTION_SECOND_CHOICE;
30         }
31         String takeMode = dispatcher.getTakeMode();
32         switch (takeMode)
33         {
34             case "P":
35                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
36                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_ISO_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
37                 break;
38
39             case "A":
40                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
41                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_ISO_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
42                 break;
43
44             case "S":
45                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
46                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_ISO_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
47                 break;
48
49             case "M":
50                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
51                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_ISO_DOWN : ICameraFeatureDispatcher.FEATURE_APERTURE_DOWN;
52                 break;
53
54             case "ART":
55                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
56                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_ISO_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
57                 break;
58
59             case "iAuto":
60                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
61                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_DIGITAL_ZOOM_RESET : ICameraFeatureDispatcher.FEATURE_DIGITAL_ZOOMOUT;
62                 break;
63
64             case "Movie":
65                 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
66                 defaultAction =  (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
67                 break;
68
69             default:
70                 break;
71         }
72         return (dispatcher.dispatchAction(IShowInformation.BUTTON_4, preferences.getInt(preference_action_id, defaultAction)));
73     }
74 }