OSDN Git Service

PowerShotZoomで動作するようにしてみる。
[gokigen/A01d.git] / app / src / main / java / net / osdn / gokigen / a01d / preference / canon / CanonPreferenceFragment.java
index b14660d..4492739 100644 (file)
@@ -18,6 +18,7 @@ import androidx.preference.PreferenceManager;
 
 import net.osdn.gokigen.a01d.IChangeScene;
 import net.osdn.gokigen.a01d.R;
+import net.osdn.gokigen.a01d.camera.ICameraConnection;
 import net.osdn.gokigen.a01d.camera.ptpip.operation.PtpIpCameraPowerOff;
 import net.osdn.gokigen.a01d.preference.IPreferencePropertyAccessor;
 
@@ -132,6 +133,15 @@ public class CanonPreferenceFragment extends PreferenceFragmentCompat implements
             if (!items.containsKey(IPreferencePropertyAccessor.CONNECTION_METHOD)) {
                 editor.putString(IPreferencePropertyAccessor.CONNECTION_METHOD, IPreferencePropertyAccessor.CONNECTION_METHOD_DEFAULT_VALUE);
             }
+            if (!items.containsKey(IPreferencePropertyAccessor.CANON_HOST_IP)) {
+                editor.putString(IPreferencePropertyAccessor.CANON_HOST_IP, IPreferencePropertyAccessor.CANON_HOST_IP_DEFAULT_VALUE);
+            }
+            if (!items.containsKey(IPreferencePropertyAccessor.CANON_LIVEVIEW_WAIT)) {
+                editor.putString(IPreferencePropertyAccessor.CANON_LIVEVIEW_WAIT, IPreferencePropertyAccessor.CANON_LIVEVIEW_WAIT_DEFAULT_VALUE);
+            }
+            if (!items.containsKey(IPreferencePropertyAccessor.CANON_CONNECTION_SEQUENCE)) {
+                editor.putString(IPreferencePropertyAccessor.CANON_CONNECTION_SEQUENCE, IPreferencePropertyAccessor.CANON_CONNECTION_SEQUENCE_DEFAULT_VALUE);
+            }
             editor.apply();
         }
         catch (Exception e)
@@ -149,26 +159,33 @@ public class CanonPreferenceFragment extends PreferenceFragmentCompat implements
     {
         Log.v(TAG, "onSharedPreferenceChanged() : " + key);
         boolean value;
-        if (key != null)
+        try
         {
-            switch (key)
+            if (key != null)
             {
-                case IPreferencePropertyAccessor.AUTO_CONNECT_TO_CAMERA:
-                    value = preferences.getBoolean(key, true);
-                    Log.v(TAG, " " + key + " , " + value);
-                    break;
-
-                case IPreferencePropertyAccessor.CAPTURE_BOTH_CAMERA_AND_LIVE_VIEW:
-                    value = preferences.getBoolean(key, true);
-                    Log.v(TAG, "  " + key + " , " + value);
-                    break;
-
-                default:
-                    String strValue = preferences.getString(key, "");
-                    setListPreference(key, key, strValue);
-                    break;
+                switch (key)
+                {
+                    case IPreferencePropertyAccessor.AUTO_CONNECT_TO_CAMERA:
+                        value = preferences.getBoolean(key, true);
+                        Log.v(TAG, " " + key + " , " + value);
+                        break;
+
+                    case IPreferencePropertyAccessor.CAPTURE_BOTH_CAMERA_AND_LIVE_VIEW:
+                        value = preferences.getBoolean(key, true);
+                        Log.v(TAG, "  " + key + " , " + value);
+                        break;
+
+                    default:
+                        String strValue = preferences.getString(key, "");
+                        setListPreference(key, key, strValue);
+                        break;
+                }
             }
         }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
     }
 
     /**
@@ -293,6 +310,7 @@ public class CanonPreferenceFragment extends PreferenceFragmentCompat implements
      * @param key          Preference(データ)のキー
      * @param defaultValue Preferenceのデフォルト値
      */
+    @SuppressWarnings("SameParameterValue")
     private void setBooleanPreference(String pref_key, String key, boolean defaultValue)
     {
         try
@@ -357,7 +375,7 @@ public class CanonPreferenceFragment extends PreferenceFragmentCompat implements
                 // コマンド送信ダイアログを表示する
                 if (changeScene != null)
                 {
-                    changeScene.changeSceneToCameraPropertyList();
+                    changeScene.changeSceneToCameraPropertyList(ICameraConnection.CameraConnectionMethod.CANON);
                 }
             }
             return (true);