OSDN Git Service

spinnerでコマンドの選択をできるようにした。これで一揃い。
authorMRSa <mrsa@myad.jp>
Sun, 9 Jun 2019 03:57:20 +0000 (12:57 +0900)
committerMRSa <mrsa@myad.jp>
Sun, 9 Jun 2019 03:57:20 +0000 (12:57 +0900)
app/src/main/java/net/osdn/gokigen/a01d/camera/fujix/cameraproperty/FujiXCameraCommandSendDialog.java
app/src/main/java/net/osdn/gokigen/a01d/camera/fujix/operation/FujiXCaptureControl.java
app/src/main/java/net/osdn/gokigen/a01d/camera/fujix/wrapper/command/IFujiXCameraCommands.java [new file with mode: 0644]
app/src/main/java/net/osdn/gokigen/a01d/camera/fujix/wrapper/status/FujiXStatusHolder.java
app/src/main/java/net/osdn/gokigen/a01d/camera/fujix/wrapper/status/IFujiXCameraProperties.java

index dc8486e..501a2ad 100644 (file)
@@ -16,15 +16,16 @@ import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.appcompat.app.AlertDialog;
+import androidx.collection.SparseArrayCompat;
 import androidx.fragment.app.DialogFragment;
 
 import net.osdn.gokigen.a01d.R;
 import net.osdn.gokigen.a01d.camera.fujix.IFujiXInterfaceProvider;
+import net.osdn.gokigen.a01d.camera.fujix.wrapper.command.IFujiXCameraCommands;
 import net.osdn.gokigen.a01d.camera.fujix.wrapper.command.IFujiXCommandPublisher;
 import net.osdn.gokigen.a01d.camera.fujix.wrapper.command.messages.CommandGeneric;
 import net.osdn.gokigen.a01d.camera.fujix.wrapper.command.messages.SetPropertyValue;
-
-import java.util.Locale;
+import net.osdn.gokigen.a01d.camera.fujix.wrapper.status.IFujiXCameraProperties;
 
 public class FujiXCameraCommandSendDialog  extends DialogFragment
 {
@@ -32,6 +33,7 @@ public class FujiXCameraCommandSendDialog  extends DialogFragment
     private Dialog myDialog = null;
     private IFujiXCommandPublisher commandPublisher = null;
     private FujiXCameraCommandResponse responseReceiver = null;
+    private SparseArrayCompat<String> commandNameIndexArray;
 
     private int selectedCommandIdPosition = 0;
     private int selectedMessageTypePosition = 0;
@@ -54,6 +56,7 @@ public class FujiXCameraCommandSendDialog  extends DialogFragment
     private void prepare(@NonNull IFujiXInterfaceProvider interfaceProvider)
     {
         this.commandPublisher = interfaceProvider.getCommandPublisher();
+        this.commandNameIndexArray = new SparseArrayCompat<>();
     }
 
     @Override
@@ -203,9 +206,10 @@ public class FujiXCameraCommandSendDialog  extends DialogFragment
                 // 未入力のときには0を返す
                 return (0);
             }
-            int convertValue = (int)Long.parseLong(value, 16);
-            Log.v(TAG, String.format(Locale.US, "PARSED VALUE : 0x%08x (%d)", convertValue, convertValue));
-            return (convertValue);
+            //int convertValue = (int)Long.parseLong(value, 16);
+            //Log.v(TAG, String.format(Locale.US, "PARSED VALUE : 0x%08x (%d)", convertValue, convertValue));
+            //return (convertValue);
+            return ((int)Long.parseLong(value, 16));
         }
         catch (Exception e)
         {
@@ -218,8 +222,119 @@ public class FujiXCameraCommandSendDialog  extends DialogFragment
 
     private ArrayAdapter<String> prepareCommandAdapter(@NonNull final Activity activity)
     {
+        int position = 0;
         ArrayAdapter<String> adapter = new ArrayAdapter<>(activity, android.R.layout.simple_spinner_item);
+        commandNameIndexArray.clear();
+
+        // せっせとコマンドを入れていく...
         adapter.add("(Direct Input)");
+        commandNameIndexArray.append(position++, "");
+
+        adapter.add(IFujiXCameraCommands.SHUTTER_STR + " (" + IFujiXCameraCommands.SHUTTER_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.SHUTTER_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.FOCUS_POINT_STR + " (" + IFujiXCameraCommands.FOCUS_POINT_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.FOCUS_POINT_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.FOCUS_UNLOCK_STR + " (" + IFujiXCameraCommands.FOCUS_UNLOCK_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.FOCUS_UNLOCK_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.SHUTTER_SPEED_STR + " (" + IFujiXCameraCommands.SHUTTER_SPEED_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.SHUTTER_SPEED_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.APERTURE_STR + " (" + IFujiXCameraCommands.APERTURE_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.APERTURE_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.EXPREV_STR + " (" + IFujiXCameraCommands.EXPREV_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.EXPREV_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.WHITE_BALANCE_STR + " (" + IFujiXCameraProperties.WHITE_BALANCE_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.WHITE_BALANCE_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.EXPOSURE_COMPENSATION_STR + " (" + IFujiXCameraProperties.EXPOSURE_COMPENSATION_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.EXPOSURE_COMPENSATION_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.APERTURE_STR + " (" + IFujiXCameraProperties.APERTURE_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.APERTURE_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.SHUTTER_SPEED_STR + " (" + IFujiXCameraProperties.SHUTTER_SPEED_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.SHUTTER_SPEED_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.SELF_TIMER_STR + " (" + IFujiXCameraProperties.SELF_TIMER_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.SELF_TIMER_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.FILM_SIMULATION_STR + " (" + IFujiXCameraProperties.FILM_SIMULATION_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.FILM_SIMULATION_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.ISO_STR + " (" + IFujiXCameraProperties.ISO_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.ISO_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.MOVIE_ISO_STR + " (" + IFujiXCameraProperties.MOVIE_ISO_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.MOVIE_ISO_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.IMAGE_FORMAT_STR + " (" + IFujiXCameraProperties.IMAGE_FORMAT_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.IMAGE_FORMAT_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.IMAGE_ASPECT_STR + " (" + IFujiXCameraProperties.IMAGE_ASPECT_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.IMAGE_ASPECT_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.FLASH_STR + " (" + IFujiXCameraProperties.FLASH_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.FLASH_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.F_SS_CONTROL_STR + " (" + IFujiXCameraProperties.F_SS_CONTROL_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.F_SS_CONTROL_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.RECMODE_ENABLE_STR + " (" + IFujiXCameraProperties.RECMODE_ENABLE_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.RECMODE_ENABLE_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.BATTERY_LEVEL_STR + " (" + IFujiXCameraProperties.BATTERY_LEVEL_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.BATTERY_LEVEL_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.BATTERY_LEVEL_2_STR + " (" + IFujiXCameraProperties.BATTERY_LEVEL_2_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.BATTERY_LEVEL_2_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.FOCUS_MODE_STR + " (" + IFujiXCameraProperties.FOCUS_MODE_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.FOCUS_MODE_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.SHOOTING_MODE_STR + " (" + IFujiXCameraProperties.SHOOTING_MODE_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.SHOOTING_MODE_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.FOCUS_POINT_STR + " (" + IFujiXCameraProperties.FOCUS_POINT_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.FOCUS_POINT_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.FOCUS_LOCK_STR + " (" + IFujiXCameraProperties.FOCUS_LOCK_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.FOCUS_LOCK_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.SDCARD_REMAIN_SIZE_STR + " (" + IFujiXCameraProperties.SDCARD_REMAIN_SIZE_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.SDCARD_REMAIN_SIZE_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.MOVIE_REMAINING_TIME_STR + " (" + IFujiXCameraProperties.MOVIE_REMAINING_TIME_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.MOVIE_REMAINING_TIME_STR_ID);
+
+        adapter.add(IFujiXCameraProperties.DEVICE_ERROR_STR + " (" + IFujiXCameraProperties.DEVICE_ERROR_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraProperties.DEVICE_ERROR_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.CAMERA_CAPABILITIES_STR + " (" + IFujiXCameraCommands.CAMERA_CAPABILITIES_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.CAMERA_CAPABILITIES_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.SINGLE_REQUEST_STR + " (" + IFujiXCameraCommands.SINGLE_REQUEST_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.SINGLE_REQUEST_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.STOP_STR + " (" + IFujiXCameraCommands.STOP_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.STOP_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.IMAGE_INFO_STR + " (" + IFujiXCameraCommands.IMAGE_INFO_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.IMAGE_INFO_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.THUMBNAIL_INDEX_STR + " (" + IFujiXCameraCommands.THUMBNAIL_INDEX_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.THUMBNAIL_INDEX_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.FULL_IMAGE_STR + " (" + IFujiXCameraCommands.FULL_IMAGE_STR_ID + ")");
+        commandNameIndexArray.append(position++, IFujiXCameraCommands.FULL_IMAGE_STR_ID);
+
+        adapter.add(IFujiXCameraCommands.LAST_IMAGE_CAMERA_STR + " (" + IFujiXCameraCommands.LAST_IMAGE_CAMERA_STR_ID + ")");
+        commandNameIndexArray.append(position, IFujiXCameraCommands.LAST_IMAGE_CAMERA_STR_ID);
+
         return (adapter);
     }
 
@@ -237,17 +352,14 @@ public class FujiXCameraCommandSendDialog  extends DialogFragment
                 public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
                 {
                     Log.v(TAG, "onItemSelected : " + position + " (" + id + ")");
-                    selectedCommandIdPosition = position;
-                    if (selectedCommandIdPosition == 0)
+                    try
                     {
-                        try
-                        {
-                            commandIdArea.setText("");
-                        }
-                        catch (Exception e)
-                        {
-                            e.printStackTrace();
-                        }
+                        selectedCommandIdPosition = position;
+                        commandIdArea.setText(commandNameIndexArray.get(position, ""));
+                    }
+                    catch (Exception e)
+                    {
+                        e.printStackTrace();
                     }
                 }
 
index 3b3423a..b3c21f7 100644 (file)
@@ -29,7 +29,11 @@ public class FujiXCaptureControl implements ICaptureControl, IFujiXCommandCallba
     {
         try
         {
-            issuer.enqueueCommand(new CaptureCommand(this));
+            boolean ret = issuer.enqueueCommand(new CaptureCommand(this));
+            if (!ret)
+            {
+                Log.v(TAG, "enqueue ERROR");
+            }
         }
         catch (Exception e)
         {
diff --git a/app/src/main/java/net/osdn/gokigen/a01d/camera/fujix/wrapper/command/IFujiXCameraCommands.java b/app/src/main/java/net/osdn/gokigen/a01d/camera/fujix/wrapper/command/IFujiXCameraCommands.java
new file mode 100644 (file)
index 0000000..092550c
--- /dev/null
@@ -0,0 +1,46 @@
+package net.osdn.gokigen.a01d.camera.fujix.wrapper.command;
+
+public interface IFujiXCameraCommands
+{
+    int STOP = 0x1003;
+    int IMAGE_INFO = 0x1008;
+    int THUMBNAIL_INDEX = 0x100a;
+    int SHUTTER = 0x100e;
+    int SINGLE_REQUEST = 0x1015;
+    int FULL_IMAGE = 0x101b;
+    int LAST_IMAGE_CAMERA = 0x9022;
+    int FOCUS_POINT = 0x9026;
+    int FOCUS_UNLOCK = 0x9027;
+    int CAMERA_CAPABILITIES = 0x902b;
+    int SHUTTER_SPEED = 0x902c;
+    int APERTURE = 0x902d;
+    int EXPREV = 0x902e;
+
+    String STOP_STR = "STOP";
+    String IMAGE_INFO_STR = "IMAGE_INFO";
+    String THUMBNAIL_INDEX_STR = "THUMBNAIL";
+    String SHUTTER_STR = "SHUTTER";
+    String SINGLE_REQUEST_STR = "SINGLE_REQUEST";
+    String FULL_IMAGE_STR = "FULL_IMAGE";
+    String LAST_IMAGE_CAMERA_STR = "LAST_IMAGE";
+    String FOCUS_POINT_STR = "FOCUS_POINT";
+    String FOCUS_UNLOCK_STR = "FOCUS_UNLOCK";
+    String CAMERA_CAPABILITIES_STR = "CAMERA_CAPABILITIES";
+    String SHUTTER_SPEED_STR = "SHUTTER_SPEED";
+    String APERTURE_STR = "APERTURE";
+    String EXPREV_STR = "EXPREV";
+
+    String STOP_STR_ID = "0x1003";
+    String IMAGE_INFO_STR_ID = "0x1008";
+    String THUMBNAIL_INDEX_STR_ID = "0x100a";
+    String SHUTTER_STR_ID = "0x100e";
+    String SINGLE_REQUEST_STR_ID = "0x1015";
+    String FULL_IMAGE_STR_ID = "0x101b";
+    String LAST_IMAGE_CAMERA_STR_ID = "0x9022";
+    String FOCUS_POINT_STR_ID = "0x9026";
+    String FOCUS_UNLOCK_STR_ID = "0x9027";
+    String CAMERA_CAPABILITIES_STR_ID = "0x902b";
+    String SHUTTER_SPEED_STR_ID = "0x902c";
+    String APERTURE_STR_ID = "0x902d";
+    String EXPREV_STR_ID = "0x902e";
+}
index 0c1a070..1afbd69 100644 (file)
@@ -30,28 +30,28 @@ class FujiXStatusHolder implements IFujiXCameraProperties
     private void prepareStatusNameArray()
     {
         statusNameArray.clear();
-        statusNameArray.append(BATTERY_LEVEL, "Battery");
-        statusNameArray.append(WHITE_BALANCE, "WhiteBalance");
-        statusNameArray.append(APERTURE, "Aperture");
-        statusNameArray.append(FOCUS_MODE, "FocusMode");
-        statusNameArray.append(SHOOTING_MODE, "ShootingMode");
-        statusNameArray.append(FLASH, "FlashMode");
-        statusNameArray.append(EXPOSURE_COMPENSATION, "ExposureCompensation");
-        statusNameArray.append(SELF_TIMER, "SelfTimer");
-        statusNameArray.append(FILM_SIMULATION, "FilmSimulation");
-        statusNameArray.append(IMAGE_FORMAT, "ImageFormat");
-        statusNameArray.append(RECMODE_ENABLE, "RecModeEnable");
-        statusNameArray.append(F_SS_CONTROL, "F_SS_Control");
-        statusNameArray.append(ISO, "Iso");
-        statusNameArray.append(MOVIE_ISO, "MovieIso");
-        statusNameArray.append(FOCUS_POINT, "FocusPoint");
-        statusNameArray.append(DEVICE_ERROR, "DeviceError");
-        statusNameArray.append(SDCARD_REMAIN_SIZE, "ImageRemainCount");
-        statusNameArray.append(FOCUS_LOCK, "FocusLock");
-        statusNameArray.append(MOVIE_REMAINING_TIME, "MovieRemainTime");
-        statusNameArray.append(SHUTTER_SPEED, "ShutterSpeed");
-        statusNameArray.append(IMAGE_ASPECT, "ImageAspect");
-        statusNameArray.append(BATTERY_LEVEL_2, "BattLevel");
+        statusNameArray.append(BATTERY_LEVEL, BATTERY_LEVEL_STR);
+        statusNameArray.append(WHITE_BALANCE, WHITE_BALANCE_STR);
+        statusNameArray.append(APERTURE, APERTURE_STR);
+        statusNameArray.append(FOCUS_MODE, FOCUS_MODE_STR);
+        statusNameArray.append(SHOOTING_MODE, SHOOTING_MODE_STR);
+        statusNameArray.append(FLASH, FLASH_STR);
+        statusNameArray.append(EXPOSURE_COMPENSATION, EXPOSURE_COMPENSATION_STR);
+        statusNameArray.append(SELF_TIMER, SELF_TIMER_STR);
+        statusNameArray.append(FILM_SIMULATION, FILM_SIMULATION_STR);
+        statusNameArray.append(IMAGE_FORMAT, IMAGE_FORMAT_STR);
+        statusNameArray.append(RECMODE_ENABLE, RECMODE_ENABLE_STR);
+        statusNameArray.append(F_SS_CONTROL, F_SS_CONTROL_STR);
+        statusNameArray.append(ISO, ISO_STR);
+        statusNameArray.append(MOVIE_ISO, MOVIE_ISO_STR);
+        statusNameArray.append(FOCUS_POINT, FOCUS_POINT_STR);
+        statusNameArray.append(DEVICE_ERROR, DEVICE_ERROR_STR);
+        statusNameArray.append(SDCARD_REMAIN_SIZE, SDCARD_REMAIN_SIZE_STR);
+        statusNameArray.append(FOCUS_LOCK, FOCUS_LOCK_STR);
+        statusNameArray.append(MOVIE_REMAINING_TIME, MOVIE_REMAINING_TIME_STR);
+        statusNameArray.append(SHUTTER_SPEED, SHUTTER_SPEED_STR);
+        statusNameArray.append(IMAGE_ASPECT,IMAGE_ASPECT_STR);
+        statusNameArray.append(BATTERY_LEVEL_2, BATTERY_LEVEL_2_STR);
     }
 
 
@@ -118,7 +118,7 @@ class FujiXStatusHolder implements IFujiXCameraProperties
             for (int index = 0; index < statusHolder.size(); index++)
             {
                 int key = statusHolder.keyAt(index);
-                selection.add(statusNameArray.get(key));
+                selection.add(statusNameArray.get(key, String.format(Locale.US, "0x%04x", key)));
             }
         }
         catch (Exception e)
@@ -137,6 +137,7 @@ class FujiXStatusHolder implements IFujiXCameraProperties
             return (getAvailableStatusNameList());
         }
 
+        /////  選択可能なステータスの一覧を取得する : でも以下はアイテム名の一覧... /////
         ArrayList<String> selection = new ArrayList<>();
         try
         {
@@ -157,6 +158,22 @@ class FujiXStatusHolder implements IFujiXCameraProperties
     {
         try
         {
+            int strIndex = key.indexOf("x");
+            if (strIndex > 1)
+            {
+                key = key.substring(strIndex + 1);
+                try
+                {
+                    int id = Integer.parseInt(key, 16);
+                    int value = statusHolder.get(id);
+                    return (String.format(Locale.US,"0x%08x (%d)", value, value));
+                }
+                catch (Exception e)
+                {
+                    e.printStackTrace();
+                }
+            }
+
             for (int index = 0; index < statusNameArray.size(); index++)
             {
                 int id = statusNameArray.keyAt(index);
index 4f07b62..7d184f8 100644 (file)
@@ -24,4 +24,50 @@ public interface IFujiXCameraProperties
     int SHUTTER_SPEED         = 0xd240;
     int IMAGE_ASPECT          = 0xd241;
     int BATTERY_LEVEL_2       = 0xd242;
+
+    String BATTERY_LEVEL_STR         = "Battery";
+    String WHITE_BALANCE_STR         = "WhiteBalance";
+    String APERTURE_STR               = "Aperture";
+    String FOCUS_MODE_STR            = "FocusMode";
+    String SHOOTING_MODE_STR         = "ShootingMode";
+    String FLASH_STR                 = "FlashMode";
+    String EXPOSURE_COMPENSATION_STR = "ExposureCompensation";
+    String SELF_TIMER_STR            = "SelfTimer";
+    String FILM_SIMULATION_STR       = "FilmSimulation";
+    String IMAGE_FORMAT_STR          = "ImageFormat";
+    String RECMODE_ENABLE_STR        = "RecModeEnable";
+    String F_SS_CONTROL_STR          = "F_SS_Control";
+    String ISO_STR                   = "Iso";
+    String MOVIE_ISO_STR             = "MovieIso";
+    String FOCUS_POINT_STR           = "FocusPoint";
+    String FOCUS_LOCK_STR            = "FocusLock";
+    String DEVICE_ERROR_STR          = "DeviceError";
+    String SDCARD_REMAIN_SIZE_STR    = "ImageRemainCount";
+    String MOVIE_REMAINING_TIME_STR  = "MovieRemainTime";
+    String SHUTTER_SPEED_STR         = "ShutterSpeed";
+    String IMAGE_ASPECT_STR          = "ImageAspect";
+    String BATTERY_LEVEL_2_STR       = "BatteryLevel";
+
+    String BATTERY_LEVEL_STR_ID         = "0x5001";
+    String WHITE_BALANCE_STR_ID         = "0x5005";
+    String APERTURE_STR_ID               = "0x5007";
+    String FOCUS_MODE_STR_ID            = "0x500a";
+    String SHOOTING_MODE_STR_ID         = "0x500e";
+    String FLASH_STR_ID                 = "0x500c";
+    String EXPOSURE_COMPENSATION_STR_ID = "0x5010";
+    String SELF_TIMER_STR_ID            = "0x5012";
+    String FILM_SIMULATION_STR_ID       = "0xd001";
+    String IMAGE_FORMAT_STR_ID          = "0xd018";
+    String RECMODE_ENABLE_STR_ID        = "0xd019";
+    String F_SS_CONTROL_STR_ID          = "0xd028";
+    String ISO_STR_ID                   = "0xd02a";
+    String MOVIE_ISO_STR_ID             = "0xd02b";
+    String FOCUS_POINT_STR_ID           = "0xd17c";
+    String FOCUS_LOCK_STR_ID            = "0xd209";
+    String DEVICE_ERROR_STR_ID          = "0xd21b";
+    String SDCARD_REMAIN_SIZE_STR_ID    = "0xd229";
+    String MOVIE_REMAINING_TIME_STR_ID  = "0xd22a";
+    String SHUTTER_SPEED_STR_ID         = "0xd240";
+    String IMAGE_ASPECT_STR_ID          = "0xd241";
+    String BATTERY_LEVEL_2_STR_ID       = "0xd242";
 }