1 package net.osdn.gokigen.cameratest.fuji.statuses;
4 import android.util.SparseIntArray;
6 import static net.osdn.gokigen.cameratest.fuji.statuses.Properties.BATTERY_LEVEL;
7 import static net.osdn.gokigen.cameratest.fuji.statuses.Properties.FOCUS_LOCK;
9 class FujiStatusHolder implements IFujiStatus
11 private final String TAG = toString();
12 private SparseIntArray statusHolder;
19 statusHolder = new SparseIntArray();
23 void updateValue(int id, byte data0, byte data1, byte data2, byte data3)
25 int value = ((((int) data3)&0xff) << 24) + ((((int) data2)&0xff) << 16) + ((((int) data1)&0xff) << 8) + (((int) data0) & 0xff);
27 //Log.v(TAG, "updateValue() : " + id + "[" + value + "]");
28 statusHolder.put(id, value);
32 public int getValue(int statusId)
36 return (statusHolder.get(statusId));
46 public boolean isFocusLocked()
50 int status = statusHolder.get(FOCUS_LOCK);
64 public int getBatteryLevel()
69 int status = statusHolder.get(BATTERY_LEVEL);
70 if ((status == 1)||(status == 6))
78 else if ((status == 2)||(status == 8))
86 else if ((status == 3)||(status == 10))
90 else if ((status == 4)||(status == 11))