OSDN Git Service

GR2専用コマンドを、GR2と接続したときにだけ有効にするように仕様を変更した。
[gokigen/Gr2Control.git] / app / src / main / java / net / osdn / gokigen / gr2control / playback / detail / MyContentDownloader.java
index 69e4967..263cdcd 100644 (file)
@@ -43,6 +43,7 @@ public class MyContentDownloader implements IDownloadContentCallback
     private static final String RAW_SUFFIX_1 = ".DNG";
     private static final String RAW_SUFFIX_2 = ".ORF";
     private static final String RAW_SUFFIX_3 = ".PEF";
+    private static final String RAW_SUFFIX_4 = ".RAF";
     private static final String MOVIE_SUFFIX = ".MOV";
     private static final String JPEG_SUFFIX = ".JPG";
     private ProgressDialog downloadDialog = null;
@@ -79,7 +80,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);
@@ -99,6 +100,11 @@ public class MyContentDownloader implements IDownloadContentCallback
                 mimeType = "image/x-pentax-pef";
                 isSmallSize = false;
             }
+            else if (targetFileName.toUpperCase().contains(RAW_SUFFIX_4))
+            {
+                mimeType = "image/x-fuji-raf";
+                isSmallSize = false;
+            }
             else if (targetFileName.toUpperCase().contains(MOVIE_SUFFIX))
             {
                 mimeType =  "video/mp4";
@@ -121,10 +127,12 @@ 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 outputFileName =  extendName + "_" + targetFileName;
+            String suffix = targetFileName.substring(targetFileName.indexOf("."));
+            String picName = targetFileName.substring(0, targetFileName.indexOf("."));
+            String outputFileName = picName + "_" +  extendName + suffix;
             filepath = new File(directoryPath.toLowerCase(), outputFileName.toLowerCase()).getPath();
             try
             {
@@ -151,8 +159,8 @@ public class MyContentDownloader implements IDownloadContentCallback
                     }
                 });
             }
-            Log.v(TAG, "downloadContent : " + path + " (small: " + isSmallSize + ")");
-            playbackControl.downloadContent(path, isSmallSize, this);
+            Log.v(TAG, "downloadContent : " + fileName + " (small: " + isSmallSize + ")");
+            playbackControl.downloadContent(null, fileName, isSmallSize, this);
         }
         catch (Exception ex)
         {
@@ -194,7 +202,7 @@ public class MyContentDownloader implements IDownloadContentCallback
                 outputStream.close();
                 outputStream = null;
             }
-            if ((!targetFileName.toUpperCase().endsWith(RAW_SUFFIX_1))&&(!targetFileName.toUpperCase().endsWith(RAW_SUFFIX_2))&&(!targetFileName.toUpperCase().endsWith(RAW_SUFFIX_3)))
+            //if ((!targetFileName.toUpperCase().endsWith(RAW_SUFFIX_1))&&(!targetFileName.toUpperCase().endsWith(RAW_SUFFIX_2))&&(!targetFileName.toUpperCase().endsWith(RAW_SUFFIX_3)))
             {
                 // ギャラリーに受信したファイルを登録する
                 long now = System.currentTimeMillis();