From 3384e5a2e758a28984ef20923987313aef6019e6 Mon Sep 17 00:00:00 2001 From: MRSa Date: Mon, 5 Aug 2019 18:52:42 +0900 Subject: [PATCH] =?utf8?q?PENTAX/GR=E3=81=AE=E7=94=BB=E5=83=8F=E5=8F=96?= =?utf8?q?=E5=BE=97=E6=99=82=E3=81=AE=E3=82=BF=E3=82=A4=E3=83=A0=E3=82=A2?= =?utf8?q?=E3=82=A6=E3=83=88=E5=80=A4=E3=82=92Preference=E5=80=A4=E3=81=8B?= =?utf8?q?=E3=82=89=E5=8F=96=E5=BE=97=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?utf8?q?=E3=81=AB=E5=A4=89=E6=9B=B4=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 ++-- .../ricohgr2/wrapper/RicohGr2InterfaceProvider.java | 16 ++++++++++++++-- .../ricohgr2/wrapper/RicohGr2PlaybackControl.java | 19 ++++++++++--------- .../preference/IPreferencePropertyAccessor.java | 3 +++ .../ricohgr2/RicohGr2PreferenceFragment.java | 3 +++ app/src/main/res/values-ja/strings.xml | 3 +++ app/src/main/res/values/strings.xml | 3 +++ app/src/main/res/xml/preferences_ricoh_gr2.xml | 7 +++++++ 8 files changed, 45 insertions(+), 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 11b19fc..e85e605 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,8 +6,8 @@ android { applicationId "net.osdn.gokigen.gr2control" minSdkVersion 14 targetSdkVersion 29 - versionCode 1002003 - versionName "1.2.3" + versionCode 1002004 + versionName "1.2.4" } buildTypes { release { diff --git a/app/src/main/java/net/osdn/gokigen/gr2control/camera/ricohgr2/wrapper/RicohGr2InterfaceProvider.java b/app/src/main/java/net/osdn/gokigen/gr2control/camera/ricohgr2/wrapper/RicohGr2InterfaceProvider.java index a99f4ad..f14782b 100644 --- a/app/src/main/java/net/osdn/gokigen/gr2control/camera/ricohgr2/wrapper/RicohGr2InterfaceProvider.java +++ b/app/src/main/java/net/osdn/gokigen/gr2control/camera/ricohgr2/wrapper/RicohGr2InterfaceProvider.java @@ -66,7 +66,19 @@ public class RicohGr2InterfaceProvider implements IRicohGr2InterfaceProvider, ID SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); useGrCommand = preferences.getBoolean(IPreferencePropertyAccessor.USE_GR2_SPECIAL_COMMAND, true); pentaxCaptureAfterAf = preferences.getBoolean(IPreferencePropertyAccessor.PENTAX_CAPTURE_AFTER_AF, false); - + int communicationTimeoutMs = 5000; // デフォルトは 5000ms とする + try + { + communicationTimeoutMs = Integer.parseInt(preferences.getString(IPreferencePropertyAccessor.RICOH_GET_PICS_LIST_TIMEOUT, IPreferencePropertyAccessor.RICOH_GET_PICS_LIST_TIMEOUT_DEFAULT_VALUE)) * 1000; + if (communicationTimeoutMs < 5000) + { + communicationTimeoutMs = 5000; // 最小値は 5000msとする。 + } + } + catch (Exception e) + { + e.printStackTrace(); + } //this.activity = context; //this.provider = provider; gr2Connection = new RicohGr2Connection(context, provider); @@ -74,7 +86,7 @@ public class RicohGr2InterfaceProvider implements IRicohGr2InterfaceProvider, ID zoomControl = new RicohGr2CameraZoomLensControl(); buttonControl = new RicohGr2CameraButtonControl(); statusChecker = new RicohGr2StatusChecker(500, useGrCommand); - playbackControl = new RicohGr2PlaybackControl(); + playbackControl = new RicohGr2PlaybackControl(communicationTimeoutMs); hardwareStatus = new RicohGr2HardwareStatus(); runMode = new RicohGr2RunMode(); } diff --git a/app/src/main/java/net/osdn/gokigen/gr2control/camera/ricohgr2/wrapper/RicohGr2PlaybackControl.java b/app/src/main/java/net/osdn/gokigen/gr2control/camera/ricohgr2/wrapper/RicohGr2PlaybackControl.java index 5a76760..d87843f 100644 --- a/app/src/main/java/net/osdn/gokigen/gr2control/camera/ricohgr2/wrapper/RicohGr2PlaybackControl.java +++ b/app/src/main/java/net/osdn/gokigen/gr2control/camera/ricohgr2/wrapper/RicohGr2PlaybackControl.java @@ -31,6 +31,7 @@ public class RicohGr2PlaybackControl implements IPlaybackControl private final String TAG = toString(); private final String getPhotoUrl = "http://192.168.0.1/v1/photos/"; private static final int DEFAULT_TIMEOUT = 5000; + private final int timeoutValue; /***** [操作メモ] @@ -45,9 +46,9 @@ public class RicohGr2PlaybackControl implements IPlaybackControl 動画をダウンロードする : http://192.168.0.1/v1/photos/yyyRICOH/R0000xxx.MOV?size=full *****/ - RicohGr2PlaybackControl() + RicohGr2PlaybackControl(int timeoutMSec) { - + this.timeoutValue = (timeoutMSec < DEFAULT_TIMEOUT) ? DEFAULT_TIMEOUT : timeoutMSec; } @Override @@ -64,7 +65,7 @@ public class RicohGr2PlaybackControl implements IPlaybackControl String contentList; try { - contentList = SimpleHttpClient.httpGet(imageListurl, DEFAULT_TIMEOUT); + contentList = SimpleHttpClient.httpGet(imageListurl, timeoutValue); if (contentList == null) { // ぬるぽ発行 @@ -81,7 +82,7 @@ public class RicohGr2PlaybackControl implements IPlaybackControl try { JSONArray dirsArray = new JSONObject(contentList).getJSONArray("dirs"); - if (dirsArray != null) + // if (dirsArray != null) { int size = dirsArray.length(); for (int index = 0; index < size; index++) @@ -113,7 +114,7 @@ public class RicohGr2PlaybackControl implements IPlaybackControl Log.v(TAG, "updateCameraFileInfo() GET URL : " + url); try { - String response = SimpleHttpClient.httpGet(url, DEFAULT_TIMEOUT); + String response = SimpleHttpClient.httpGet(url, timeoutValue); if ((response == null)||(response.length() < 1)) { return; @@ -160,7 +161,7 @@ public class RicohGr2PlaybackControl implements IPlaybackControl Log.v(TAG, "getContentInfo() GET URL : " + url); try { - String response = SimpleHttpClient.httpGet(url, DEFAULT_TIMEOUT); + String response = SimpleHttpClient.httpGet(url, timeoutValue); if ((response == null)||(response.length() < 1)) { callback.onErrorOccurred(new NullPointerException()); @@ -181,7 +182,7 @@ public class RicohGr2PlaybackControl implements IPlaybackControl Log.v(TAG, "downloadContentScreennail() GET URL : " + url); try { - Bitmap bmp = SimpleHttpClient.httpGetBitmap(url, DEFAULT_TIMEOUT); + Bitmap bmp = SimpleHttpClient.httpGetBitmap(url, timeoutValue); HashMap map = new HashMap<>(); map.put("Orientation", 0); callback.onCompleted(bmp, map); @@ -205,7 +206,7 @@ public class RicohGr2PlaybackControl implements IPlaybackControl Log.v(TAG, "downloadContentThumbnail() GET URL : " + url); try { - Bitmap bmp = SimpleHttpClient.httpGetBitmap(url, DEFAULT_TIMEOUT); + Bitmap bmp = SimpleHttpClient.httpGetBitmap(url, timeoutValue); HashMap map = new HashMap<>(); map.put("Orientation", 0); callback.onCompleted(bmp, map); @@ -230,7 +231,7 @@ public class RicohGr2PlaybackControl implements IPlaybackControl Log.v(TAG, "downloadContent() GET URL : " + url); try { - SimpleHttpClient.httpGetBytes(url, DEFAULT_TIMEOUT, new SimpleHttpClient.IReceivedMessageCallback() { + SimpleHttpClient.httpGetBytes(url, timeoutValue, new SimpleHttpClient.IReceivedMessageCallback() { @Override public void onCompleted() { callback.onCompleted(); diff --git a/app/src/main/java/net/osdn/gokigen/gr2control/preference/IPreferencePropertyAccessor.java b/app/src/main/java/net/osdn/gokigen/gr2control/preference/IPreferencePropertyAccessor.java index 1d48db8..6d4b731 100644 --- a/app/src/main/java/net/osdn/gokigen/gr2control/preference/IPreferencePropertyAccessor.java +++ b/app/src/main/java/net/osdn/gokigen/gr2control/preference/IPreferencePropertyAccessor.java @@ -49,6 +49,9 @@ public interface IPreferencePropertyAccessor String MAGNIFYING_LIVE_VIEW_SCALE = "magnifying_live_view_scale"; String MAGNIFYING_LIVE_VIEW_SCALE_DEFAULT_VALUE = "10.0"; + String RICOH_GET_PICS_LIST_TIMEOUT = "ricoh_get_pics_list_timeout"; + String RICOH_GET_PICS_LIST_TIMEOUT_DEFAULT_VALUE = "5"; + /* //String GR2_DISPLAY_MODE = "gr2_display_mode"; //String GR2_DISPLAY_MODE_DEFAULT_VALUE = "0"; diff --git a/app/src/main/java/net/osdn/gokigen/gr2control/preference/ricohgr2/RicohGr2PreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/gr2control/preference/ricohgr2/RicohGr2PreferenceFragment.java index bf9c221..46269fe 100644 --- a/app/src/main/java/net/osdn/gokigen/gr2control/preference/ricohgr2/RicohGr2PreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/gr2control/preference/ricohgr2/RicohGr2PreferenceFragment.java @@ -130,6 +130,9 @@ public class RicohGr2PreferenceFragment extends PreferenceFragmentCompat implem if (!items.containsKey(IPreferencePropertyAccessor.PENTAX_CAPTURE_AFTER_AF)) { editor.putBoolean(IPreferencePropertyAccessor.PENTAX_CAPTURE_AFTER_AF, false); } + if (!items.containsKey(IPreferencePropertyAccessor.RICOH_GET_PICS_LIST_TIMEOUT)) { + editor.putString(IPreferencePropertyAccessor.RICOH_GET_PICS_LIST_TIMEOUT, IPreferencePropertyAccessor.RICOH_GET_PICS_LIST_TIMEOUT_DEFAULT_VALUE); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index b223fc0..611a605 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -124,4 +124,7 @@ 日付 パス + + 撮影画像一覧取得時のタイムアウト(単位:秒) + カメラ内の画像が多い場合は数を増やしてください。 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1d6fc6e..4e85442 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -159,4 +159,7 @@ Date Path + + Get Pics List Timeout(unit: sec.) + If the camera has many number of Pics, increase number. diff --git a/app/src/main/res/xml/preferences_ricoh_gr2.xml b/app/src/main/res/xml/preferences_ricoh_gr2.xml index 823a08a..1140257 100644 --- a/app/src/main/res/xml/preferences_ricoh_gr2.xml +++ b/app/src/main/res/xml/preferences_ricoh_gr2.xml @@ -70,6 +70,13 @@ android:summary="@string/summary_pentax_capture_after_auto_focus" /> + +