1 package net.osdn.gokigen.cameratest.fuji.statuses;
3 import android.util.Log;
5 import androidx.annotation.NonNull;
7 import net.osdn.gokigen.cameratest.fuji.ReceivedDataHolder;
9 public class FujiStatusChecker implements IFujiStatusReceive
11 private final String TAG = toString();
12 private final IFujiStatusRequest comm;
13 private final IFujiStatusNotify notify;
14 private final FujiStatusHolder statusHolder;
15 private boolean threadIsRunning = false;
16 private final int WAIT_MS = 400;
18 public FujiStatusChecker(@NonNull IFujiStatusRequest comm, @NonNull IFujiStatusNotify notify)
22 this.statusHolder = new FujiStatusHolder();
26 public void statusReceived(ReceivedDataHolder data)
28 statusReceivedImpl(data.getData());
34 Thread thread = new Thread(new Runnable() {
40 threadIsRunning = true;
41 while (threadIsRunning)
44 Thread.sleep(WAIT_MS);
51 threadIsRunning = false;
52 Log.v(TAG, "--- FINISH STATUS WATCH ---");
60 Log.v(TAG, "--- START STATUS WATCH ---");
73 threadIsRunning = false;
76 private void statusReceivedImpl(byte[] data)
78 boolean isStatusUpdated = false;
81 Log.v(TAG, "status Received. " + data.length + " bytes.");
84 RX [00] 7a 00 00 00 02 00 15 10
85 RX [01] b1 00 00 00 12 00 1b d2
86 RX [02] 00 00 00 00 0c 50 02 00
87 RX [03] 00 00 12 50 00 00 00 00
88 RX [04] 29 d2 67 04 00 00 2a d2
89 RX [05] a1 06 00 00 0e 50 03 00
90 RX [06] 00 00 01 50 03 00 00 00
91 RX [07] 7c d1 04 04 02 03 09 d2
92 RX [08] 01 00 00 00 10 50 b3 fe
93 RX [09] ff ff 05 50 02 00 00 00
94 RX [10] 28 d0 00 00 00 00 0a 50
95 RX [11] 01 80 00 00 41 d2 0a 00
96 RX [12] 00 00 18 d0 04 00 00 00
97 RX [13] 07 50 90 01 00 00 01 d0
98 RX [14] 03 00 00 00 2a d0 40 06
99 RX [15] 00 80 0c 00 00 00 03 00
100 RX [16] 01 20 b1 00 00 00
105 notify.statusUpdated(statusHolder);