From 957fcee9f3032eec6434800e1d842c1af4ec1abe Mon Sep 17 00:00:00 2001 From: MRSa Date: Sun, 31 Mar 2019 00:13:30 +0900 Subject: [PATCH] =?utf8?q?=E7=94=BB=E5=83=8F=E7=A2=BA=E8=AA=8D=E3=81=AE?= =?utf8?q?=E3=83=AB=E3=83=BC=E3=83=97=E3=82=92=E5=B0=91=E3=81=97=E6=9C=80?= =?utf8?q?=E9=81=A9=E5=8C=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../pkremote/transfer/AutoTransferFragment.java | 23 +++++++++++++++++----- .../pkremote/transfer/FileAutoTransferMain.java | 11 ++++++++++- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/transfer/AutoTransferFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/transfer/AutoTransferFragment.java index d754937..39189ed 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/transfer/AutoTransferFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/transfer/AutoTransferFragment.java @@ -32,7 +32,8 @@ public class AutoTransferFragment extends Fragment implements View.OnClickListen { private final String TAG = this.toString(); - private static final int SLEEP_MS = 3000; // 待機時間 + private static final int SLEEP_MS = 300; // 動作チェック待ち時間 + private static final int SLEEP_WAIT_MS = 3500; // 一覧確認の待機時間 (3.5秒おき) private AppCompatActivity activity = null; private FileAutoTransferMain transferMain = null; @@ -199,14 +200,26 @@ public class AutoTransferFragment extends Fragment implements View.OnClickListen { if (transferMain != null) { + // 現在時刻を取得する + long checkStartTime = System.currentTimeMillis(); + // チェックして追加ファイルがあったらダウンロード - transferMain.downloadFiles(); + transferMain.checkFiles(); + + // 画像数確認と画像取得が終わるまで、ちょっと待機... + while (transferMain.isChecking()) + { + Thread.sleep(SLEEP_MS); + } + long checkTime = Math.abs(System.currentTimeMillis() - checkStartTime); + if (checkTime < SLEEP_WAIT_MS) + { + // 画像数確認の時間が規定時間よりも短い場合は、しばらく待つ + Thread.sleep(SLEEP_WAIT_MS - checkTime); + } } count++; Log.v(TAG, "TRANSFER LOOP : " + count); - - // ちょっと待機... - Thread.sleep(SLEEP_MS); } catch (Exception e) { diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/transfer/FileAutoTransferMain.java b/app/src/main/java/net/osdn/gokigen/pkremote/transfer/FileAutoTransferMain.java index 5761f4d..acd3b78 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/transfer/FileAutoTransferMain.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/transfer/FileAutoTransferMain.java @@ -33,6 +33,7 @@ class FileAutoTransferMain implements ICameraContentListCallback private HashMap contentHashMap; private boolean getRaw = false; private boolean smallSize = false; + private boolean isChecking = false; FileAutoTransferMain(@NonNull AppCompatActivity context, @NonNull IInterfaceProvider provider, @NonNull ITransferMessage messageInterface) @@ -77,15 +78,21 @@ class FileAutoTransferMain implements ICameraContentListCallback } } + boolean isChecking() + { + return (isChecking); + } + /** * 画像の自動転送 本処理 * */ - void downloadFiles() + void checkFiles() { try { Log.v(TAG, "CHECK FILE"); + isChecking = true; interfaceProvider.getPlaybackControl().getCameraContentList(this); } catch (Exception e) @@ -251,6 +258,7 @@ class FileAutoTransferMain implements ICameraContentListCallback { e.printStackTrace(); } + isChecking = false; } // ICameraContentListCallback @@ -259,5 +267,6 @@ class FileAutoTransferMain implements ICameraContentListCallback { Log.v(TAG, "RECEIVE FAILURE..."); e.printStackTrace(); + isChecking = false; } } -- 2.11.0