OSDN Git Service

namespaceを少し整理。
[gokigen/mangle.git] / app / src / main / java / jp / osdn / gokigen / gokigenassets / camera / vendor / ricohpentax / operation / takepicture / RicohGr2MovieShotControl.kt
1 package jp.osdn.gokigen.gokigenassets.camera.vendor.ricohpentax.operation.takepicture
2
3 import android.util.Log
4 import jp.osdn.gokigen.gokigenassets.liveview.focusframe.IAutoFocusFrameDisplay
5 import jp.osdn.gokigen.gokigenassets.utils.communication.SimpleHttpClient
6
7
8 /**
9  *
10  *
11  */
12 class RicohGr2MovieShotControl(private val frameDisplayer: IAutoFocusFrameDisplay, executeUrl : String = "http://192.168.0.1")
13 {
14     private val shootStartUrl = "$executeUrl/v1/camera/shoot/start"
15     private val shootStopUrl = "$executeUrl/v1/camera/shoot/finish"
16     private val timeoutMs = 6000
17     private val isMovieRecording = false
18     private val httpClient = SimpleHttpClient()
19
20     /**
21      *
22      *
23      */
24     fun toggleMovie()
25     {
26         Log.v(TAG, "toggleMovie()")
27         try
28         {
29             val thread = Thread {
30                 try
31                 {
32                     val postData = ""
33                     val result: String? = httpClient.httpPost(if (isMovieRecording) shootStopUrl else shootStartUrl, postData, timeoutMs)
34                     if ((result == null)||(result.isEmpty()))
35                     {
36                         Log.v(TAG, "toggleMovie() reply is null.")
37                     }
38                 }
39                 catch (e: Exception)
40                 {
41                     e.printStackTrace()
42                 }
43                 frameDisplayer.hideFocusFrame()
44             }
45             thread.start()
46         }
47         catch (e: Exception)
48         {
49             e.printStackTrace()
50         }
51     }
52
53     companion object
54     {
55         private val TAG: String = RicohGr2MovieShotControl::class.java.getSimpleName()
56     }
57 }