• R/O
  • HTTP
  • SSH
  • HTTPS

A01d: Commit

OPC(Olympus Air)用望遠鏡アプリ。


Commit MetaInfo

Revisión3bad82ca99b4e86e6c6060621ddb2d9c0858c504 (tree)
Tiempo2020-12-11 00:00:48
AutorMRSa <mrsa@myad...>
CommiterMRSa

Log Message

Canonの通信先IPを変更できるようにする。

Cambiar Resumen

Diferencia incremental

--- a/app/src/main/java/net/osdn/gokigen/a01d/camera/canon/wrapper/CanonInterfaceProvider.java
+++ b/app/src/main/java/net/osdn/gokigen/a01d/camera/canon/wrapper/CanonInterfaceProvider.java
@@ -1,9 +1,11 @@
11 package net.osdn.gokigen.a01d.camera.canon.wrapper;
22
33 import android.app.Activity;
4+import android.content.SharedPreferences;
45 import android.util.Log;
56
67 import androidx.annotation.NonNull;
8+import androidx.preference.PreferenceManager;
79
810 import net.osdn.gokigen.a01d.IInformationReceiver;
911 import net.osdn.gokigen.a01d.camera.ICameraConnection;
@@ -36,6 +38,7 @@ import net.osdn.gokigen.a01d.liveview.IAutoFocusFrameDisplay;
3638 import net.osdn.gokigen.a01d.liveview.ICameraStatusUpdateNotify;
3739 import net.osdn.gokigen.a01d.liveview.IIndicatorControl;
3840 import net.osdn.gokigen.a01d.liveview.liveviewlistener.ILiveViewListener;
41+import net.osdn.gokigen.a01d.preference.IPreferencePropertyAccessor;
3942
4043 public class CanonInterfaceProvider implements IPtpIpInterfaceProvider, IDisplayInjector
4144 {
@@ -44,34 +47,51 @@ public class CanonInterfaceProvider implements IPtpIpInterfaceProvider, IDisplay
4447 private static final int ASYNC_RESPONSE_PORT = 15741; // ??
4548 private static final int CONTROL_PORT = 15740;
4649 private static final int EVENT_PORT = 15740;
47- private static final String CAMERA_IP = "192.168.0.1";
50+ //private static final String CAMERA_IP = "192.168.0.1";
4851
4952 private final Activity activity;
50- private final PtpIpRunMode runmode;
53+ private final PtpIpRunMode runMode;
5154 private final CanonCameraInformation cameraInformation;
5255 private CanonCaptureControl captureControl;
5356 private CanonFocusingControl focusingControl;
54- private CanonConnection canonConnection;
55- private PtpIpCommandPublisher commandPublisher;
56- private CanonLiveViewControl liveViewControl;
57- private PtpIpAsyncResponseReceiver asyncReceiver;
58- private CanonZoomLensControl zoomControl;
59- private CanonStatusChecker statusChecker;
60- private ICameraStatusUpdateNotify statusListener;
61- private IInformationReceiver informationReceiver;
57+ private final CanonConnection canonConnection;
58+ private final PtpIpCommandPublisher commandPublisher;
59+ private final CanonLiveViewControl liveViewControl;
60+ private final PtpIpAsyncResponseReceiver asyncReceiver;
61+ private final CanonZoomLensControl zoomControl;
62+ private final CanonStatusChecker statusChecker;
63+ private final ICameraStatusUpdateNotify statusListener;
64+ private final IInformationReceiver informationReceiver;
6265
6366 public CanonInterfaceProvider(@NonNull Activity context, @NonNull ICameraStatusReceiver provider, @NonNull ICameraStatusUpdateNotify statusListener, @NonNull IInformationReceiver informationReceiver)
6467 {
6568 this.activity = context;
66- commandPublisher = new PtpIpCommandPublisher(CAMERA_IP, CONTROL_PORT, false, false);
69+
70+ String ipAddress;
71+ try
72+ {
73+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
74+ ipAddress = preferences.getString(IPreferencePropertyAccessor.CANON_HOST_IP, IPreferencePropertyAccessor.CANON_HOST_IP_DEFAULT_VALUE);
75+ if (ipAddress == null)
76+ {
77+ ipAddress = "192.168.0.1";
78+ }
79+ }
80+ catch (Exception e)
81+ {
82+ e.printStackTrace();
83+ ipAddress = "192.168.0.1";
84+ }
85+ Log.v(TAG, " Canon IP : " + ipAddress);
86+ commandPublisher = new PtpIpCommandPublisher(ipAddress, CONTROL_PORT, false, false);
6787 liveViewControl = new CanonLiveViewControl(context, this, 10); //
68- asyncReceiver = new PtpIpAsyncResponseReceiver(CAMERA_IP, ASYNC_RESPONSE_PORT);
69- statusChecker = new CanonStatusChecker(context, commandPublisher, CAMERA_IP, EVENT_PORT);
88+ asyncReceiver = new PtpIpAsyncResponseReceiver(ipAddress, ASYNC_RESPONSE_PORT);
89+ statusChecker = new CanonStatusChecker(context, commandPublisher, ipAddress, EVENT_PORT);
7090 canonConnection = new CanonConnection(context, provider, this, statusChecker);
7191 cameraInformation = new CanonCameraInformation();
7292 zoomControl = new CanonZoomLensControl(context, commandPublisher);
7393 this.statusListener = statusListener;
74- this.runmode = new PtpIpRunMode();
94+ this.runMode = new PtpIpRunMode();
7595 this.informationReceiver = informationReceiver;
7696 }
7797
@@ -134,7 +154,7 @@ public class CanonInterfaceProvider implements IPtpIpInterfaceProvider, IDisplay
134154 @Override
135155 public IPtpIpRunModeHolder getRunModeHolder()
136156 {
137- return (runmode);
157+ return (runMode);
138158 }
139159
140160 @Override
--- a/app/src/main/java/net/osdn/gokigen/a01d/preference/IPreferencePropertyAccessor.java
+++ b/app/src/main/java/net/osdn/gokigen/a01d/preference/IPreferencePropertyAccessor.java
@@ -116,6 +116,10 @@ public interface IPreferencePropertyAccessor
116116
117117 String SAVE_LOCAL_LOCATION = "save_local_location";
118118 boolean SAVE_LOCAL_LOCATION_DEFAULT_VALUE = false;
119+
120+ String CANON_HOST_IP = "canon_host_ip";
121+ String CANON_HOST_IP_DEFAULT_VALUE = "192.168.0.1";
122+
119123 /*
120124 int CHOICE_SPLASH_SCREEN = 10;
121125
--- a/app/src/main/java/net/osdn/gokigen/a01d/preference/canon/CanonPreferenceFragment.java
+++ b/app/src/main/java/net/osdn/gokigen/a01d/preference/canon/CanonPreferenceFragment.java
@@ -133,6 +133,9 @@ public class CanonPreferenceFragment extends PreferenceFragmentCompat implements
133133 if (!items.containsKey(IPreferencePropertyAccessor.CONNECTION_METHOD)) {
134134 editor.putString(IPreferencePropertyAccessor.CONNECTION_METHOD, IPreferencePropertyAccessor.CONNECTION_METHOD_DEFAULT_VALUE);
135135 }
136+ if (!items.containsKey(IPreferencePropertyAccessor.CANON_HOST_IP)) {
137+ editor.putString(IPreferencePropertyAccessor.CANON_HOST_IP, IPreferencePropertyAccessor.CANON_HOST_IP_DEFAULT_VALUE);
138+ }
136139 editor.apply();
137140 }
138141 catch (Exception e)
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -340,4 +340,7 @@
340340 <string name="pref_save_local_location">ライブビュー画像をアプリ固有領域に保存</string>
341341 <string name="pref_summary_save_local_location">ライブビューイメージの保存先をアプリ固有領域にします。</string>
342342
343+ <string name="pref_canon_host_ip">カメラIPアドレス</string>
344+ <string name="pref_summary_canon_host_ip">通常、変更は不要です (初期値:192.168.0.1)</string>
345+
343346 </resources>
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -345,4 +345,7 @@
345345 <string name="pref_save_local_location">Save local location(Liveview Image)</string>
346346 <string name="pref_summary_save_local_location">The liveview image saves in application local location.</string>
347347
348+ <string name="pref_canon_host_ip">Camera IP Address</string>
349+ <string name="pref_summary_canon_host_ip">default: 192.168.0.1 </string>
350+
348351 </resources>
--- a/app/src/main/res/xml/preferences_canon.xml
+++ b/app/src/main/res/xml/preferences_canon.xml
@@ -47,6 +47,12 @@
4747 android:title="@string/pref_canon_focus_xy"
4848 android:defaultValue="6000,4000"
4949 android:summary="@string/pref_summary_canon_focus_xy" />
50+
51+ <EditTextPreference
52+ android:key="canon_host_ip"
53+ android:title="@string/pref_canon_host_ip"
54+ android:defaultValue="192.168.0.1"
55+ android:summary="@string/pref_summary_canon_host_ip" />
5056 <!--
5157 <CheckBoxPreference
5258 android:key="capture_both_camera_and_live_view"
Show on old repository browser