import jp.osdn.gokigen.gokigenassets.camera.preference.ICameraPreferenceProvider
import jp.osdn.gokigen.gokigenassets.camera.interfaces.*
import jp.osdn.gokigen.gokigenassets.constants.IApplicationConstantConvert.Companion.ID_CAMERA_X_PREVIEW_LAYOUT
+import jp.osdn.gokigen.gokigenassets.constants.IStringResourceConstantConvert
import jp.osdn.gokigen.gokigenassets.liveview.ILiveView
import jp.osdn.gokigen.gokigenassets.liveview.ILiveViewRefresher
import jp.osdn.gokigen.gokigenassets.liveview.image.CameraLiveViewListenerImpl
import java.util.concurrent.ExecutorService
import java.util.concurrent.Executors
-class CameraControl(private val activity : AppCompatActivity, private val preference: ICameraPreferenceProvider, private val vibrator : IVibrator, private val informationReceiver : IInformationReceiver, private val number : Int = 0) : ICameraControl
+class CameraControl(private val activity : AppCompatActivity, private val preference: ICameraPreferenceProvider, private val vibrator : IVibrator, private val informationReceiver : IInformationReceiver, private val statusReceiver : ICameraStatusReceiver, private val number : Int = 0, private val liveViewListener:CameraLiveViewListenerImpl = CameraLiveViewListenerImpl(activity, informationReceiver)) : ICameraControl, ICameraShutter, IZoomLensControl
{
private lateinit var cameraExecutor: ExecutorService
- private lateinit var liveViewListener : CameraLiveViewListenerImpl
private lateinit var fileControl : FileControl
private lateinit var storeImage : StoreImage
private lateinit var cameraXCamera : Camera
+ private lateinit var clickKeyDownListener : CameraClickKeyDownListener
private var cameraIsStarted = false
private val cameraXCameraControl = CameraXCameraControl()
private val cameraXCameraStatusHolder = CameraXCameraStatusHolder(cameraXCameraControl)
override fun initialize()
{
Log.v(TAG, " initialize()")
- liveViewListener = CameraLiveViewListenerImpl(activity, informationReceiver)
cameraExecutor = Executors.newSingleThreadExecutor()
storeImage = StoreImage(activity, liveViewListener)
clickKeyDownListeners.clear()
fileControl = FileControl(activity, storeImage, vibrator)
+ clickKeyDownListener = CameraClickKeyDownListener(0, fileControl, null)
}
override fun connectToCamera()
// Liveview View
startCameraForLiveView(cameraSelector)
}
+
+ try
+ {
+ statusReceiver.onStatusNotify(activity.getString(IStringResourceConstantConvert.ID_STRING_CONNECT_CONNECTED))
+ statusReceiver.onCameraConnected()
+ }
+ catch (e: Exception)
+ {
+ e.printStackTrace()
+ }
}
private fun startCameraForPreviewView(cameraSelector : CameraSelector)
}
}
- override fun finishCamera()
+ override fun finishCamera(isPowerOff: Boolean)
{
try
{
return (number)
}
+ override fun getCameraShutter(id: Int): ICameraShutter { return (this) }
+ override fun getZoomControl(id: Int): IZoomLensControl { return (this) }
+
+ override fun canZoom(): Boolean { return (false) }
+ override fun updateStatus() { }
+ override fun getMaximumFocalLength(): Float { return (0.0f) }
+ override fun getMinimumFocalLength(): Float { return (0.0f) }
+ override fun getCurrentFocalLength(): Float { return (0.0f) }
+ override fun driveZoomLens(targetLength: Float) { }
+ override fun driveZoomLens(isZoomIn: Boolean) { }
+ override fun moveInitialZoomPosition() { }
+ override fun isDrivingZoomLens(): Boolean { return (false) }
+
+
private fun getClickKeyDownListener(id : Int) : CameraClickKeyDownListener
{
try
override fun setNeighborCameraControlFinished() { }
override fun getCameraStatus(): ICameraStatus { return (cameraXCameraStatusHolder) }
+ override fun doShutter()
+ {
+ try
+ {
+ if (::fileControl.isInitialized)
+ {
+ fileControl.takePhoto(0)
+ }
+ }
+ catch (e: Exception)
+ {
+ e.printStackTrace()
+ }
+ }
+ override fun doShutterOff() { }
+
companion object
{
private val TAG = CameraControl::class.java.simpleName