OSDN Git Service

11以外は...
authorMRSa <mrsa@myad.jp>
Sat, 10 Oct 2020 12:26:10 +0000 (21:26 +0900)
committerMRSa <mrsa@myad.jp>
Sat, 10 Oct 2020 12:26:10 +0000 (21:26 +0900)
app/src/main/java/jp/osdn/gokigen/mangle/operation/imagefile/ImageStoreExternal.kt
app/src/main/java/jp/osdn/gokigen/mangle/operation/imagefile/ImageStoreExternalLegacy.kt
app/src/main/java/jp/osdn/gokigen/mangle/operation/imagefile/ImageStoreLocal.kt

index 5ced965..35c26ee 100644 (file)
@@ -7,6 +7,7 @@ import android.os.Build
 import android.os.Environment
 import android.provider.MediaStore
 import android.util.Log
+import androidx.annotation.RequiresApi
 import androidx.camera.core.ImageCapture
 import androidx.camera.core.ImageCaptureException
 import androidx.core.content.ContextCompat
@@ -17,6 +18,7 @@ import java.io.File
 import java.text.SimpleDateFormat
 import java.util.*
 
+@RequiresApi(api = Build.VERSION_CODES.Q)
 class ImageStoreExternal(private val context: FragmentActivity) : IImageStore
 {
     private fun getExternalOutputDirectory(): File
index 2b8103d..09b0531 100644 (file)
@@ -1,7 +1,6 @@
 package jp.osdn.gokigen.mangle.operation.imagefile
 
 import android.content.ContentValues
-import android.database.DatabaseUtils
 import android.os.Environment
 import android.provider.MediaStore
 import android.util.Log
@@ -62,9 +61,9 @@ class ImageStoreExternalLegacy(private val context: FragmentActivity) : IImageSt
             resolver.update(imageUri, values, null, null)
 
             /////////////////////////////
-            val cursor = resolver.query(imageUri, null, null, null, null)
-            DatabaseUtils.dumpCursor(cursor)
-            cursor!!.close()
+            //val cursor = resolver.query(imageUri, null, null, null, null)
+            //DatabaseUtils.dumpCursor(cursor)
+            //cursor!!.close()
             /////////////////////////////
 
             val openStream = resolver.openOutputStream(imageUri) ?: return (false)
index 62fef48..cd5eeeb 100644 (file)
@@ -16,11 +16,6 @@ import java.util.*
 
 class ImageStoreLocal(private val context: FragmentActivity)
 {
-    init
-    {
-
-    }
-
     /**
      *   保存用ディレクトリを準備する(ダメな場合はアプリ領域のディレクトリを確保する)
      *
@@ -40,28 +35,34 @@ class ImageStoreLocal(private val context: FragmentActivity)
             return
         }
         Log.v(TAG, " takePhotoLocal()")
-        val photoFile = File(prepareLocalOutputDirectory(), "P" + SimpleDateFormat(FILENAME_FORMAT, Locale.US).format(System.currentTimeMillis()) + ".jpg")
-        val outputOptions = ImageCapture.OutputFileOptions.Builder(photoFile).build()
-
-        imageCapture.takePicture(
-            outputOptions,
-            ContextCompat.getMainExecutor(context),
-            object : ImageCapture.OnImageSavedCallback
-            {
-                override fun onError(exc: ImageCaptureException)
+        try
+        {
+            val photoFile = File(prepareLocalOutputDirectory(), "P" + SimpleDateFormat(FILENAME_FORMAT, Locale.US).format(System.currentTimeMillis()) + ".jpg")
+            val outputOptions = ImageCapture.OutputFileOptions.Builder(photoFile).build()
+            imageCapture.takePicture(
+                outputOptions,
+                ContextCompat.getMainExecutor(context),
+                object : ImageCapture.OnImageSavedCallback
                 {
-                    Log.e(TAG, "Photo capture failed: ${exc.message}", exc)
-                }
+                    override fun onError(exc: ImageCaptureException)
+                    {
+                        Log.e(TAG, "Photo capture failed: ${exc.message}", exc)
+                    }
 
-                override fun onImageSaved(output: ImageCapture.OutputFileResults)
-                {
-                    val savedUri = Uri.fromFile(photoFile)
-                    val msg = context.getString(R.string.capture_success) + " $savedUri"
-                    Snackbar.make(context.findViewById<ConstraintLayout>(R.id.main_layout), msg, Snackbar.LENGTH_SHORT).show()
-                    Log.v(TAG, msg)
+                    override fun onImageSaved(output: ImageCapture.OutputFileResults)
+                    {
+                        val savedUri = Uri.fromFile(photoFile)
+                        val msg = context.getString(R.string.capture_success) + " $savedUri"
+                        Snackbar.make(context.findViewById<ConstraintLayout>(R.id.main_layout), msg, Snackbar.LENGTH_SHORT).show()
+                        Log.v(TAG, msg)
+                    }
                 }
-            }
-        )
+            )
+        }
+        catch (e : Exception)
+        {
+            e.printStackTrace()
+        }
     }
 
     companion object
@@ -69,5 +70,4 @@ class ImageStoreLocal(private val context: FragmentActivity)
         private val  TAG = this.toString()
         private const val FILENAME_FORMAT = "yyyyMMdd_HHmmss"
     }
-
 }
\ No newline at end of file