1 package net.osdn.gokigen.gr2control.camera.olympus.wrapper.playback;
3 import android.graphics.BitmapFactory;
4 import android.util.Log;
6 import net.osdn.gokigen.gr2control.camera.ICameraFileInfo;
7 import net.osdn.gokigen.gr2control.camera.playback.CameraFileInfo;
8 import net.osdn.gokigen.gr2control.camera.playback.IContentInfoCallback;
9 import net.osdn.gokigen.gr2control.camera.playback.IDownloadContentCallback;
10 import net.osdn.gokigen.gr2control.camera.playback.ICameraContentListCallback;
11 import net.osdn.gokigen.gr2control.camera.playback.IDownloadThumbnailImageCallback;
12 import net.osdn.gokigen.gr2control.camera.playback.IPlaybackControl;
13 import net.osdn.gokigen.gr2control.camera.playback.ProgressEvent;
15 import java.util.ArrayList;
16 import java.util.List;
19 import androidx.annotation.NonNull;
20 import androidx.annotation.Nullable;
22 import jp.co.olympus.camerakit.OLYCamera;
23 import jp.co.olympus.camerakit.OLYCameraFileInfo;
25 public class OlyCameraPlaybackControl implements IPlaybackControl
27 private final String TAG = toString();
28 private final OLYCamera camera;
29 private List<OLYCamera> list;
31 public OlyCameraPlaybackControl(@NonNull OLYCamera camera)
37 public String getRawFileSuffix()
43 public void downloadContentList(@NonNull final ICameraContentListCallback callback)
47 camera.downloadContentList(new OLYCamera.DownloadContentListCallback() {
49 public void onCompleted(List<OLYCameraFileInfo> list)
51 List<ICameraFileInfo> list2 = new ArrayList<>();
52 for (OLYCameraFileInfo fileInfo : list)
54 CameraFileInfo cameraFileInfo = new CameraFileInfo(fileInfo.getDirectoryPath(), fileInfo.getFilename());
55 cameraFileInfo.setDate(fileInfo.getDatetime());
56 list2.add(cameraFileInfo);
58 callback.onCompleted(list2);
62 public void onErrorOccurred(Exception e)
64 callback.onErrorOccurred(e);
71 callback.onErrorOccurred(e);
76 public void getContentInfo(@Nullable String path, @NonNull String name, @NonNull IContentInfoCallback callback)
81 Log.v(TAG, "getContentInfo() : " + name);
87 callback.onErrorOccurred(new NullPointerException());
91 public void updateCameraFileInfo(ICameraFileInfo info)
95 Log.v(TAG, "updateCameraFileInfo() : " + info.getFilename());
104 public void downloadContentScreennail(@Nullable String path, @NonNull String name, @NonNull final IDownloadThumbnailImageCallback callback)
108 camera.downloadContentScreennail(name, new OLYCamera.DownloadImageCallback() {
110 public void onProgress(OLYCamera.ProgressEvent progressEvent)
116 public void onCompleted(byte[] bytes, Map<String, Object> map)
120 callback.onCompleted(BitmapFactory.decodeByteArray(bytes, 0, bytes.length), map);
125 callback.onErrorOccurred(new NullPointerException());
130 public void onErrorOccurred(Exception e)
132 callback.onErrorOccurred(e);
139 callback.onErrorOccurred(e);
144 public void downloadContentThumbnail(@Nullable String path, @NonNull String name, @NonNull final IDownloadThumbnailImageCallback callback)
148 camera.downloadContentThumbnail(name, new OLYCamera.DownloadImageCallback() {
150 public void onProgress(OLYCamera.ProgressEvent progressEvent)
156 public void onCompleted(byte[] bytes, Map<String, Object> map)
160 callback.onCompleted(BitmapFactory.decodeByteArray(bytes, 0, bytes.length), map);
165 callback.onErrorOccurred(new NullPointerException());
170 public void onErrorOccurred(Exception e)
172 callback.onErrorOccurred(e);
179 callback.onErrorOccurred(e);
184 public void downloadContent(@Nullable String path, @NonNull String name, boolean isSmallSize, @NonNull final IDownloadContentCallback callback)
188 camera.downloadLargeContent(name, new OLYCamera.DownloadLargeContentCallback() {
190 public void onProgress(byte[] bytes, OLYCamera.ProgressEvent progressEvent)
194 callback.onProgress(bytes, bytes.length, new ProgressEvent(progressEvent.getProgress(), null));
203 public void onCompleted()
207 callback.onCompleted();
216 public void onErrorOccurred(Exception e)
220 callback.onErrorOccurred(e);
224 ee.printStackTrace();
232 callback.onErrorOccurred(e);
237 public void showPictureStarted()
243 public void showPictureFinished()