OSDN Git Service

撮影日時の有効・無効を取得できるようにした。
authorMRSa <mrsa@myad.jp>
Thu, 15 Aug 2019 14:50:53 +0000 (23:50 +0900)
committerMRSa <mrsa@myad.jp>
Thu, 15 Aug 2019 14:50:53 +0000 (23:50 +0900)
app/src/main/java/net/osdn/gokigen/pkremote/camera/interfaces/playback/ICameraContent.java
app/src/main/java/net/osdn/gokigen/pkremote/camera/playback/CameraContentInfo.java
app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/fujix/wrapper/FujiXImageContentInfo.java
app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/panasonic/wrapper/playback/PanasonicImageContentInfo.java
app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/ricoh/wrapper/RicohGr2PlaybackControl.java

index 6f9bff2..0777078 100644 (file)
@@ -8,6 +8,7 @@ public interface ICameraContent
     String getCardId();
     String getContentPath();
     String getContentName();
+    boolean isDateValid();
     Date getCapturedDate();
     void setCapturedDate(Date date);
 }
index 4efd103..907148e 100644 (file)
@@ -11,6 +11,7 @@ public class CameraContentInfo implements ICameraContent
     private final String contentPath;
     private final String contentName;
     private Date capturedDate;
+    private boolean isDateValid;
 
     public CameraContentInfo(String cameraId, String cardId, String contentPath, String contentName, Date date)
     {
@@ -18,8 +19,16 @@ public class CameraContentInfo implements ICameraContent
         this.cardId = cardId;
         this.contentPath = contentPath;
         this.contentName = contentName;
-        this.capturedDate = date;
-
+        if (date == null)
+        {
+            this.capturedDate = new Date();
+            isDateValid = false;
+        }
+        else
+        {
+            this.capturedDate = date;
+            isDateValid = true;
+        }
     }
 
     @Override
@@ -47,6 +56,12 @@ public class CameraContentInfo implements ICameraContent
     }
 
     @Override
+    public boolean isDateValid()
+    {
+        return (isDateValid);
+    }
+
+    @Override
     public Date getCapturedDate()
     {
         return (capturedDate);
@@ -56,5 +71,6 @@ public class CameraContentInfo implements ICameraContent
     public void setCapturedDate(Date date)
     {
         this.capturedDate = date;
+        isDateValid = true;
     }
 }
index 3ecaeda..3d998f9 100644 (file)
@@ -14,6 +14,7 @@ public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallb
     private final String TAG = toString();
     private final int indexNumber;
     private boolean isReceived = false;
+    private boolean isDateValid = false;
     private Date date = null;
     private String realFileName = null;
     private byte[] rx_body;
@@ -28,6 +29,7 @@ public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallb
         else
         {
             date = new Date();
+            isDateValid = false;
         }
     }
 
@@ -67,6 +69,12 @@ public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallb
     }
 
     @Override
+    public boolean isDateValid()
+    {
+        return (isDateValid);
+    }
+
+    @Override
     public Date getCapturedDate()
     {
         return (date);
@@ -78,6 +86,7 @@ public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallb
         try
         {
             this.date = date;
+            isDateValid = true;
         }
         catch (Exception e)
         {
@@ -129,6 +138,7 @@ public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallb
                 Log.v(TAG, "[" + indexNumber + "] FILE NAME : " + realFileName + "  DATE : '" + dateString + "'");
                 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmmss", Locale.ENGLISH);
                 date = dateFormat.parse(dateString);
+                isDateValid = true;
                 isReceived = true;
             }
         }
index ab52e15..0ad5640 100644 (file)
@@ -11,6 +11,7 @@ public class PanasonicImageContentInfo implements ICameraContent
     private final String TAG = toString();
     private String targetUrl;
     private Date date;
+    private boolean isDateValid = false;
 
     PanasonicImageContentInfo(String targetUrl)
     {
@@ -43,6 +44,11 @@ public class PanasonicImageContentInfo implements ICameraContent
     }
 
     @Override
+    public boolean isDateValid() {
+        return (isDateValid);
+    }
+
+    @Override
     public Date getCapturedDate()
     {
         return (date);
@@ -53,5 +59,6 @@ public class PanasonicImageContentInfo implements ICameraContent
     {
         Log.v(TAG, "setCapturedDate()");
         this.date = date;
+        isDateValid = true;
     }
 }
index 36eb0e3..5e81b77 100644 (file)
@@ -308,8 +308,9 @@ public class RicohGr2PlaybackControl implements IPlaybackControl
         {
             e.printStackTrace();
         }
-*/
         return (cameraContent.getCapturedDate());
+*/
+        return (null);
     }
 
 
@@ -434,8 +435,12 @@ public class RicohGr2PlaybackControl implements IPlaybackControl
                     {
                         String fileName = filesArray.getString(fileIndex);
                         //Log.v(TAG, "FILE : " + fileName);
-                        ICameraContent cameraContent = new CameraContentInfo(cameraId, "sd1", dirName, fileName, new Date());
-                        cameraContent.setCapturedDate(getCameraContentDate(cameraContent));
+                        ICameraContent cameraContent = new CameraContentInfo(cameraId, "sd1", dirName, fileName, null);
+                        Date capturedDate = getCameraContentDate(cameraContent);
+                        if (capturedDate != null)
+                        {
+                            cameraContent.setCapturedDate(capturedDate);
+                        }
                         fileList.add(cameraContent);
                     }
                 }