OSDN Git Service

ファイルダウンロードでファイル名をカメラのファイル名と一致させるようにした。(FUJI)
authorMRSa <mrsa@myad.jp>
Fri, 1 May 2020 14:41:30 +0000 (23:41 +0900)
committerMRSa <mrsa@myad.jp>
Fri, 1 May 2020 14:41:30 +0000 (23:41 +0900)
app/src/main/java/net/osdn/gokigen/gr2control/camera/ICameraFileInfo.java
app/src/main/java/net/osdn/gokigen/gr2control/camera/fuji_x/wrapper/FujiXRunMode.java
app/src/main/java/net/osdn/gokigen/gr2control/camera/fuji_x/wrapper/playback/FujiXImageContentInfo.java
app/src/main/java/net/osdn/gokigen/gr2control/camera/fuji_x/wrapper/playback/FujiXPlaybackControl.java
app/src/main/java/net/osdn/gokigen/gr2control/camera/playback/CameraFileInfo.java
app/src/main/java/net/osdn/gokigen/gr2control/playback/detail/ImagePagerViewFragment.java
app/src/main/java/net/osdn/gokigen/gr2control/playback/detail/MyContentDownloader.java

index cc2a4cc..0c68210 100644 (file)
@@ -7,6 +7,7 @@ public interface ICameraFileInfo
     Date getDatetime();
     String getDirectoryPath();
     String getFilename();
+    String getOriginalFilename();
 
     String getAperature();
     String getShutterSpeed();
index ccab4a7..35da311 100644 (file)
@@ -36,7 +36,7 @@ public class FujiXRunMode implements ICameraRunMode, IFujiXRunModeHolder, IFujiX
     public void changeRunMode(boolean isRecording, @NonNull ICameraRunModeCallback callback)
     {
         // モードを切り替える
-        Log.v(TAG, "changeRunMode() : " + isRecording);
+        Log.v(TAG, " changeRunMode() : " + isRecording);
 
         if (interfaceProvider.getCameraConnection().getConnectionStatus() != ICameraConnection.CameraConnectionStatus.CONNECTED)
         {
index ebf4fda..eb9c7db 100644 (file)
@@ -2,6 +2,7 @@ package net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.playback;
 
 import android.util.Log;
 
+import net.osdn.gokigen.gr2control.camera.ICameraFileInfo;
 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.IFujiXCommandCallback;
 import net.osdn.gokigen.gr2control.camera.playback.CameraFileInfo;
 import net.osdn.gokigen.gr2control.camera.playback.ICameraContent;
@@ -10,7 +11,7 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Locale;
 
-public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallback
+public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallback, ICameraFileInfo
 {
     private final String TAG = toString();
     private final int indexNumber;
@@ -18,7 +19,17 @@ public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallb
     private boolean isDateValid = false;
     private Date date = null;
     private String realFileName = null;
-    private CameraFileInfo fileInfo = null;
+    private boolean captured;
+    private String av;
+    private String sv;
+    private String tv;
+    private String xv;
+    private int orientation;
+    private String aspectRatio;
+    private String cameraModel;
+    private String latlng;
+    private long fileSize;
+
     private byte[] rx_body;
     FujiXImageContentInfo(int indexNumber, byte[] rx_body)
     {
@@ -177,14 +188,6 @@ public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallb
         return (isReceived);
     }
 
-    CameraFileInfo getCameraFileInfo()
-    {
-        if (fileInfo != null)
-        {
-            return (fileInfo);
-        }
-        return (new CameraFileInfo(getContentPath(), getOriginalName()));
-    }
 
     private void updateInformation(byte[] rx_body)
     {
@@ -222,4 +225,105 @@ public class FujiXImageContentInfo implements ICameraContent, IFujiXCommandCallb
         }
         return (result);
     }
+
+    @Override
+    public Date getDatetime()
+    {
+        return (date);
+    }
+
+    @Override
+    public String getDirectoryPath()
+    {
+        return ("");
+    }
+
+    @Override
+    public String getOriginalFilename()
+    {
+        return (getOriginalName());
+    }
+
+    @Override
+    public String getFilename()
+    {
+        return (getContentName());
+    }
+
+    @Override
+    public String getAperature()
+    {
+        return (av);
+    }
+
+    @Override
+    public String getShutterSpeed()
+    {
+        return (tv);
+    }
+
+    @Override
+    public String getIsoSensitivity()
+    {
+        return (sv);
+    }
+
+    @Override
+    public String getExpRev()
+    {
+        return (xv);
+    }
+
+    @Override
+    public int getOrientation()
+    {
+        return (orientation);
+    }
+
+    @Override
+    public String getAspectRatio()
+    {
+        return (aspectRatio);
+    }
+
+    @Override
+    public String getModel()
+    {
+        return (cameraModel);
+    }
+
+    @Override
+    public String getLatLng()
+    {
+        return (latlng);
+    }
+
+    @Override
+    public boolean getCaptured()
+    {
+        return (captured);
+    }
+
+    @Override
+    public void updateValues(String dateTime, String av, String tv, String sv, String xv, int orientation, String aspectRatio, String model, String latLng, boolean captured)
+    {
+        this.av = av;
+        this.tv = tv;
+        this.sv = sv;
+        this.xv = xv;
+        this.orientation = orientation;
+        this.aspectRatio = aspectRatio;
+        this.cameraModel = model;
+        this.latlng = latLng;
+        this.captured = captured;
+        try
+        {
+            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US);
+            this.date = df.parse(dateTime);
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
 }
index 5b873ae..211d1f8 100644 (file)
@@ -358,7 +358,7 @@ public class FujiXPlaybackControl implements IPlaybackControl, IFujiXCommandCall
             for(int index = 0; index < listSize; index++)
             {
                 FujiXImageContentInfo info = imageContentInfo.valueAt(index);
-                fileInfoList.add(info.getCameraFileInfo());
+                fileInfoList.add(info);
             }
         }
         catch (Exception e)
index 220086e..6602bf3 100644 (file)
@@ -32,18 +32,22 @@ public class CameraFileInfo implements ICameraFileInfo, ICameraFileInfoSetter
     }
 
     @Override
-    public Date getDatetime()
-    {
+    public Date getDatetime() {
         return (dateTime);
     }
 
     @Override
-    public String getDirectoryPath()
-    {
+    public String getDirectoryPath() {
         return (path);
     }
 
     @Override
+    public String getOriginalFilename()
+    {
+        return (name);
+    }
+
+    @Override
     public String getFilename()
     {
         return (name);
index 55ef2e3..276bde5 100644 (file)
@@ -99,7 +99,7 @@ public class ImagePagerViewFragment extends Fragment implements ICameraRunModeCa
                {
                        ImageContentInfoEx info  = contentList.get(contentIndex);
             ICameraFileInfo file = info.getFileInfo();
-                       String path = file.getDirectoryPath() + "/" + file.getFilename();
+                       String path = file.getDirectoryPath() + "/" + file.getOriginalFilename();
 
                        AppCompatActivity activity = (AppCompatActivity) getActivity();
                        if (activity != null)
@@ -300,12 +300,13 @@ public class ImagePagerViewFragment extends Fragment implements ICameraRunModeCa
         {
             e.printStackTrace();
         }
-
+/*
         if (!runMode.isRecordingMode())
         {
             // Threadで呼んではダメみたいだ...
             runMode.changeRunMode(true, this);
         }
+*/
     }
 
     @Override
@@ -386,7 +387,7 @@ public class ImagePagerViewFragment extends Fragment implements ICameraRunModeCa
                        try
                        {
                 ICameraFileInfo file = (contentList.get(contentIndex)).getFileInfo();
-                String path = file.getDirectoryPath() + "/" + file.getFilename();
+                String path = file.getDirectoryPath() + "/" + file.getOriginalFilename();
 
                 AppCompatActivity activity = (AppCompatActivity) getActivity();
                 if (activity != null)
index f0774c6..9b1d04b 100644 (file)
@@ -79,7 +79,7 @@ public class MyContentDownloader implements IDownloadContentCallback
         {
             Calendar calendar = Calendar.getInstance();
             String extendName = new SimpleDateFormat("yyyyMMdd-HHmmss", Locale.getDefault()).format(calendar.getTime());
-            targetFileName = fileInfo.getFilename().toUpperCase();
+            targetFileName = fileInfo.getOriginalFilename().toUpperCase();
             if (replaceJpegSuffix != null)
             {
                 targetFileName = targetFileName.replace(JPEG_SUFFIX, replaceJpegSuffix);
@@ -121,7 +121,7 @@ public class MyContentDownloader implements IDownloadContentCallback
                     downloadDialog.show();
                 }
             });
-            String path = fileInfo.getDirectoryPath() + "/" + targetFileName;
+            String fileName = fileInfo.getDirectoryPath() + "/" + fileInfo.getFilename();
 
             final String directoryPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath() + "/" + activity.getString(R.string.app_name2) + "/";
             String suffix = targetFileName.substring(targetFileName.indexOf("."));
@@ -153,8 +153,8 @@ public class MyContentDownloader implements IDownloadContentCallback
                     }
                 });
             }
-            Log.v(TAG, "downloadContent : " + path + " (small: " + isSmallSize + ")");
-            playbackControl.downloadContent(null, path, isSmallSize, this);
+            Log.v(TAG, "downloadContent : " + fileName + " (small: " + isSmallSize + ")");
+            playbackControl.downloadContent(null, fileName, isSmallSize, this);
         }
         catch (Exception ex)
         {