OSDN Git Service

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