OSDN Git Service

PENTAX一眼の制御の動作確認。(フォーカス制御&シャッター)
[gokigen/A01d.git] / app / src / main / java / net / osdn / gokigen / a01d / camera / ricohgr2 / wrapper / RicohGr2InterfaceProvider.java
1 package net.osdn.gokigen.a01d.camera.ricohgr2.wrapper;
2
3 import android.app.Activity;
4 import android.support.annotation.NonNull;
5 import android.util.Log;
6
7 import net.osdn.gokigen.a01d.camera.ICameraConnection;
8 import net.osdn.gokigen.a01d.camera.ICameraInformation;
9 import net.osdn.gokigen.a01d.camera.ICameraStatusReceiver;
10 import net.osdn.gokigen.a01d.camera.ICaptureControl;
11 import net.osdn.gokigen.a01d.camera.IFocusingControl;
12 import net.osdn.gokigen.a01d.camera.ILiveViewControl;
13 import net.osdn.gokigen.a01d.camera.IFocusingModeNotify;
14 import net.osdn.gokigen.a01d.camera.IZoomLensControl;
15 import net.osdn.gokigen.a01d.camera.ricohgr2.IRicohGr2InterfaceProvider;
16 import net.osdn.gokigen.a01d.camera.ricohgr2.operation.RicohGr2CameraCaptureControl;
17 import net.osdn.gokigen.a01d.camera.ricohgr2.operation.RicohGr2CameraFocusControl;
18 import net.osdn.gokigen.a01d.camera.ricohgr2.operation.RicohGr2CameraZoomLensControl;
19 import net.osdn.gokigen.a01d.camera.ricohgr2.wrapper.connection.RicohGr2Connection;
20 import net.osdn.gokigen.a01d.camera.IDisplayInjector;
21 import net.osdn.gokigen.a01d.liveview.IAutoFocusFrameDisplay;
22 import net.osdn.gokigen.a01d.liveview.IIndicatorControl;
23 import net.osdn.gokigen.a01d.liveview.liveviewlistener.ILiveViewListener;
24
25 /**
26  *
27  *
28  */
29 public class RicohGr2InterfaceProvider implements IRicohGr2InterfaceProvider, IDisplayInjector
30 {
31     private final String TAG = toString();
32     private final Activity activity;
33     //private final ICameraStatusReceiver provider;
34     private final RicohGr2Connection gr2Connection;
35     private RicohGr2LiveViewControl liveViewControl;
36     private RicohGr2CameraCaptureControl captureControl;
37     private RicohGr2CameraZoomLensControl zoomControl;
38     private RicohGr2CameraFocusControl focusControl;
39
40     /**
41      *
42      *
43      */
44     public RicohGr2InterfaceProvider(@NonNull Activity context, @NonNull ICameraStatusReceiver provider)
45     {
46         this.activity = context;
47         //this.provider = provider;
48         gr2Connection = new RicohGr2Connection(context, provider);
49         liveViewControl = new RicohGr2LiveViewControl(context);
50         zoomControl = new RicohGr2CameraZoomLensControl();
51     }
52
53     /**
54      *
55      *
56      */
57     public void prepare()
58     {
59         // liveViewControl = new RicohGr2LiveViewControl();
60     }
61
62     /**
63      *
64      *
65      */
66     @Override
67     public void injectDisplay(IAutoFocusFrameDisplay frameDisplayer, IIndicatorControl indicator, IFocusingModeNotify focusingModeNotify)
68     {
69         Log.v(TAG, "injectDisplay()");
70         focusControl = new RicohGr2CameraFocusControl(activity, frameDisplayer, indicator);
71         captureControl = new RicohGr2CameraCaptureControl(activity, frameDisplayer);
72     }
73
74     /**
75      *
76      *
77      */
78     @Override
79     public ICameraConnection getRicohGr2CameraConnection()
80     {
81         return (gr2Connection);
82     }
83
84     /**
85      *
86      *
87      */
88     @Override
89     public ILiveViewControl getLiveViewControl()
90     {
91         return (liveViewControl);
92     }
93
94     /**
95      *
96      *
97      */
98     @Override
99     public ILiveViewListener getLiveViewListener()
100     {
101         if (liveViewControl == null)
102         {
103             return (null);
104         }
105         return (liveViewControl.getLiveViewListener());
106     }
107
108     @Override
109     public IFocusingControl getFocusingControl()
110     {
111         return (focusControl);
112     }
113
114     @Override
115     public ICameraInformation getCameraInformation()
116     {
117         return null;
118     }
119
120     @Override
121     public IZoomLensControl getZoomLensControl()
122     {
123         return (zoomControl);
124     }
125
126     @Override
127     public ICaptureControl getCaptureControl()
128     {
129         return (captureControl);
130     }
131
132     @Override
133     public IDisplayInjector getDisplayInjector() {
134         return (this);
135     }
136 }