From cbebb4efd30a735a0004787034b56319a39bce74 Mon Sep 17 00:00:00 2001 From: MRSa Date: Sun, 30 Jul 2023 20:17:01 +0900 Subject: [PATCH] =?utf8?q?Visionkids=20=E3=81=A7=E3=80=81=E3=82=AB?= =?utf8?q?=E3=83=A1=E3=83=A9IP=E3=82=A2=E3=83=89=E3=83=AC=E3=82=B9?= =?utf8?q?=E3=82=92=E8=87=AA=E5=8B=95=E3=81=A7=E8=A8=AD=E5=AE=9A=E3=81=A7?= =?utf8?q?=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= =?utf8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../playback/VisionKidsCameraContentProvider.kt | 38 +++++++++++++- .../wrapper/playback/VisionKidsPlaybackControl.kt | 6 +-- .../preference/IPreferencePropertyAccessor.java | 2 +- .../preference/canon/CanonPreferenceFragment.java | 4 ++ .../preference/fujix/FujiXPreferenceFragment.java | 4 ++ .../preference/nikon/NikonPreferenceFragment.java | 4 ++ .../preference/olympus/OpcPreferenceFragment.java | 4 ++ .../olympuspen/OlympusPenPreferenceFragment.java | 4 ++ .../panasonic/PanasonicPreferenceFragment.java | 4 ++ .../pixpro/PixproPreferenceFragment.java | 4 ++ .../ricohgr2/RicohGr2PreferenceFragment.java | 4 ++ .../preference/sony/SonyPreferenceFragment.java | 4 ++ .../preference/theta/ThetaPreferenceFragment.java | 4 ++ .../visionkids/VisionKidsPreferenceFragment.kt | 59 ++++++++++++---------- app/src/main/res/values-ja/strings.xml | 5 +- app/src/main/res/values/strings.xml | 2 + app/src/main/res/xml/preferences_visionkids.xml | 5 ++ 17 files changed, 122 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/visionkids/wrapper/playback/VisionKidsCameraContentProvider.kt b/app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/visionkids/wrapper/playback/VisionKidsCameraContentProvider.kt index 5af4496..9c6814b 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/visionkids/wrapper/playback/VisionKidsCameraContentProvider.kt +++ b/app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/visionkids/wrapper/playback/VisionKidsCameraContentProvider.kt @@ -1,13 +1,18 @@ package net.osdn.gokigen.pkremote.camera.vendor.visionkids.wrapper.playback +import android.content.Context +import android.net.ConnectivityManager +import android.net.RouteInfo +import android.os.Build import android.util.Log import androidx.appcompat.app.AppCompatActivity import androidx.preference.PreferenceManager import net.osdn.gokigen.pkremote.camera.interfaces.playback.ICameraContent import net.osdn.gokigen.pkremote.camera.interfaces.playback.ICameraContentListCallback import net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor +import java.net.Inet6Address -class VisionKidsCameraContentProvider(context: AppCompatActivity) : IFtpServiceCallback +class VisionKidsCameraContentProvider(private val context: AppCompatActivity) : IFtpServiceCallback { private val ftpClient = MyFtpClient(this) private val preferences = PreferenceManager.getDefaultSharedPreferences(context) @@ -54,12 +59,41 @@ class VisionKidsCameraContentProvider(context: AppCompatActivity) : IFtpServiceC } } + fun getHostAddress() : String + { + val autoHost = preferences.getBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true) + var address = preferences.getString(IPreferencePropertyAccessor.VISIONKIDS_HOST_IP, IPreferencePropertyAccessor.VISIONKIDS_HOST_IP_DEFAULT_VALUE)?: IPreferencePropertyAccessor.VISIONKIDS_HOST_IP_DEFAULT_VALUE + try + { + if ((autoHost)&&(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)) + { + val connectivityManager = context.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager + val activeNetwork = connectivityManager.activeNetwork?: return (address) + val routes: List = connectivityManager.getLinkProperties(activeNetwork)?.routes ?: return (address) + for (route in routes) + { + val gateway = route.gateway + if ((route.isDefaultRoute) && (!(gateway is Inet6Address))&&(gateway != null)) + { + address = gateway.toString().replace("/","") + Log.v(TAG, " --------- default Gateway : $address --------- ") + break + } + } + } + } + catch (e: Exception) + { + e.printStackTrace() + } + return (address) + } fun getContentList(callback: ICameraContentListCallback) { try { - val address = preferences.getString(IPreferencePropertyAccessor.VISIONKIDS_HOST_IP, IPreferencePropertyAccessor.VISIONKIDS_HOST_IP_DEFAULT_VALUE)?: IPreferencePropertyAccessor.VISIONKIDS_HOST_IP_DEFAULT_VALUE + val address = getHostAddress() this.callback = callback ftpClient.connect(address) } diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/visionkids/wrapper/playback/VisionKidsPlaybackControl.kt b/app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/visionkids/wrapper/playback/VisionKidsPlaybackControl.kt index 1c5dc70..794f94b 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/visionkids/wrapper/playback/VisionKidsPlaybackControl.kt +++ b/app/src/main/java/net/osdn/gokigen/pkremote/camera/vendor/visionkids/wrapper/playback/VisionKidsPlaybackControl.kt @@ -16,13 +16,11 @@ import net.osdn.gokigen.pkremote.camera.playback.ProgressEvent import net.osdn.gokigen.pkremote.camera.utils.SimpleHttpClient import net.osdn.gokigen.pkremote.camera.utils.SimpleHttpClient.IReceivedMessageCallback import net.osdn.gokigen.pkremote.camera.vendor.visionkids.wrapper.connection.IVisionKidsConnection -import net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor import java.util.Date class VisionKidsPlaybackControl(activity: AppCompatActivity, private val provider: ICameraStatusReceiver, private val informationReceiver: IInformationReceiver, timeoutMs: Int = DEFAULT_TIMEOUT): IPlaybackControl, IVisionKidsConnection { private val contentProvider = VisionKidsCameraContentProvider(activity) - private val preferences = PreferenceManager.getDefaultSharedPreferences(activity) private val timeoutValue = Math.max(DEFAULT_TIMEOUT, timeoutMs) override fun getRawFileSuffix(): String @@ -77,7 +75,7 @@ class VisionKidsPlaybackControl(activity: AppCompatActivity, private val provide { try { - val address = preferences.getString(IPreferencePropertyAccessor.VISIONKIDS_HOST_IP, IPreferencePropertyAccessor.VISIONKIDS_HOST_IP_DEFAULT_VALUE)?: IPreferencePropertyAccessor.VISIONKIDS_HOST_IP_DEFAULT_VALUE + val address = contentProvider.getHostAddress() val urlToGet = "http://$address/DCIM/T/$path".replace("//","/") Log.v(TAG, "downloadContentThumbnail($path) : $urlToGet") @@ -99,7 +97,7 @@ class VisionKidsPlaybackControl(activity: AppCompatActivity, private val provide { // 取得先URLを特定する val dataType = if (isSmallSize) { "T" } else { "O" } - val address = preferences.getString(IPreferencePropertyAccessor.VISIONKIDS_HOST_IP, IPreferencePropertyAccessor.VISIONKIDS_HOST_IP_DEFAULT_VALUE)?: IPreferencePropertyAccessor.VISIONKIDS_HOST_IP_DEFAULT_VALUE + val address = contentProvider.getHostAddress() val urlToGet = "http://$address/DCIM/$dataType/$path".replace("//","/") Log.v(TAG, "downloadContent($path, $isSmallSize) : $urlToGet") diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/IPreferencePropertyAccessor.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/IPreferencePropertyAccessor.java index df0b786..5213867 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/IPreferencePropertyAccessor.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/IPreferencePropertyAccessor.java @@ -152,7 +152,7 @@ public interface IPreferencePropertyAccessor String VISIONKIDS_LIST_TIMEOUT = "visionkids_get_pics_list_timeout"; String VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE = "30"; - + String VISIONKIDS_AUTO_SET_HOST_IP = "visionkids_auto_detect_ip_host"; /* //String GR2_DISPLAY_MODE = "gr2_display_mode"; diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/canon/CanonPreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/canon/CanonPreferenceFragment.java index 2ff9c84..bc635e3 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/canon/CanonPreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/canon/CanonPreferenceFragment.java @@ -194,6 +194,10 @@ public class CanonPreferenceFragment extends PreferenceFragmentCompat implement if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/fujix/FujiXPreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/fujix/FujiXPreferenceFragment.java index fefb09a..c9ca243 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/fujix/FujiXPreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/fujix/FujiXPreferenceFragment.java @@ -194,6 +194,10 @@ public class FujiXPreferenceFragment extends PreferenceFragmentCompat implement if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/nikon/NikonPreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/nikon/NikonPreferenceFragment.java index 486329a..93f0c12 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/nikon/NikonPreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/nikon/NikonPreferenceFragment.java @@ -191,6 +191,10 @@ public class NikonPreferenceFragment extends PreferenceFragmentCompat implement if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/olympus/OpcPreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/olympus/OpcPreferenceFragment.java index bf37731..acb1e97 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/olympus/OpcPreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/olympus/OpcPreferenceFragment.java @@ -220,6 +220,10 @@ public class OpcPreferenceFragment extends PreferenceFragmentCompat implements S if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/olympuspen/OlympusPenPreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/olympuspen/OlympusPenPreferenceFragment.java index da27f45..c4249fd 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/olympuspen/OlympusPenPreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/olympuspen/OlympusPenPreferenceFragment.java @@ -185,6 +185,10 @@ public class OlympusPenPreferenceFragment extends PreferenceFragmentCompat impl if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/panasonic/PanasonicPreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/panasonic/PanasonicPreferenceFragment.java index 77426f0..be8a276 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/panasonic/PanasonicPreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/panasonic/PanasonicPreferenceFragment.java @@ -183,6 +183,10 @@ public class PanasonicPreferenceFragment extends PreferenceFragmentCompat imple if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/pixpro/PixproPreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/pixpro/PixproPreferenceFragment.java index f439089..e364bba 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/pixpro/PixproPreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/pixpro/PixproPreferenceFragment.java @@ -182,6 +182,10 @@ public class PixproPreferenceFragment extends PreferenceFragmentCompat implemen if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/ricohgr2/RicohGr2PreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/ricohgr2/RicohGr2PreferenceFragment.java index a85e00a..06cd0dd 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/ricohgr2/RicohGr2PreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/ricohgr2/RicohGr2PreferenceFragment.java @@ -198,6 +198,10 @@ public class RicohGr2PreferenceFragment extends PreferenceFragmentCompat implem if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/sony/SonyPreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/sony/SonyPreferenceFragment.java index 54b7311..4a2bb5e 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/sony/SonyPreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/sony/SonyPreferenceFragment.java @@ -180,6 +180,10 @@ public class SonyPreferenceFragment extends PreferenceFragmentCompat implements if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/theta/ThetaPreferenceFragment.java b/app/src/main/java/net/osdn/gokigen/pkremote/preference/theta/ThetaPreferenceFragment.java index ce0ae17..dcf12c5 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/theta/ThetaPreferenceFragment.java +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/theta/ThetaPreferenceFragment.java @@ -182,6 +182,10 @@ public class ThetaPreferenceFragment extends PreferenceFragmentCompat implement if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { editor.putString(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE); } + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) + { + editor.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true); + } editor.apply(); } catch (Exception e) diff --git a/app/src/main/java/net/osdn/gokigen/pkremote/preference/visionkids/VisionKidsPreferenceFragment.kt b/app/src/main/java/net/osdn/gokigen/pkremote/preference/visionkids/VisionKidsPreferenceFragment.kt index 1efa88c..caf247a 100644 --- a/app/src/main/java/net/osdn/gokigen/pkremote/preference/visionkids/VisionKidsPreferenceFragment.kt +++ b/app/src/main/java/net/osdn/gokigen/pkremote/preference/visionkids/VisionKidsPreferenceFragment.kt @@ -75,104 +75,107 @@ class VisionKidsPreferenceFragment: PreferenceFragmentCompat(), SharedPreference private fun initializePreferences() { try { val items = preferences!!.all - val editor = preferences!!.edit() + val editor = preferences?.edit() if (!items.containsKey(IPreferencePropertyAccessor.AUTO_CONNECT_TO_CAMERA)) { - editor.putBoolean(IPreferencePropertyAccessor.AUTO_CONNECT_TO_CAMERA, true) + editor?.putBoolean(IPreferencePropertyAccessor.AUTO_CONNECT_TO_CAMERA, true) } if (!items.containsKey(IPreferencePropertyAccessor.CAPTURE_BOTH_CAMERA_AND_LIVE_VIEW)) { - editor.putBoolean( + editor?.putBoolean( IPreferencePropertyAccessor.CAPTURE_BOTH_CAMERA_AND_LIVE_VIEW, true ) } if (!items.containsKey(IPreferencePropertyAccessor.CONNECTION_METHOD)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.CONNECTION_METHOD, IPreferencePropertyAccessor.CONNECTION_METHOD_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.GET_SMALL_PICTURE_AS_VGA)) { - editor.putBoolean(IPreferencePropertyAccessor.GET_SMALL_PICTURE_AS_VGA, false) + editor?.putBoolean(IPreferencePropertyAccessor.GET_SMALL_PICTURE_AS_VGA, false) } if (!items.containsKey(IPreferencePropertyAccessor.USE_SMARTPHONE_TRANSFER_MODE)) { - editor.putBoolean(IPreferencePropertyAccessor.USE_SMARTPHONE_TRANSFER_MODE, false) + editor?.putBoolean(IPreferencePropertyAccessor.USE_SMARTPHONE_TRANSFER_MODE, false) } if (!items.containsKey(IPreferencePropertyAccessor.RICOH_GET_PICS_LIST_TIMEOUT)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.RICOH_GET_PICS_LIST_TIMEOUT, IPreferencePropertyAccessor.RICOH_GET_PICS_LIST_TIMEOUT_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.USE_OSC_THETA_V21)) { - editor.putBoolean(IPreferencePropertyAccessor.USE_OSC_THETA_V21, false) + editor?.putBoolean(IPreferencePropertyAccessor.USE_OSC_THETA_V21, false) } if (!items.containsKey(IPreferencePropertyAccessor.PIXPRO_HOST_IP)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.PIXPRO_HOST_IP, IPreferencePropertyAccessor.PIXPRO_HOST_IP_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.PIXPRO_COMMAND_PORT)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.PIXPRO_COMMAND_PORT, IPreferencePropertyAccessor.PIXPRO_COMMAND_PORT_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.PIXPRO_GET_PICS_LIST_TIMEOUT)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.PIXPRO_GET_PICS_LIST_TIMEOUT, IPreferencePropertyAccessor.PIXPRO_GET_PICS_LIST_TIMEOUT_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.THUMBNAIL_IMAGE_CACHE_SIZE)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.THUMBNAIL_IMAGE_CACHE_SIZE, IPreferencePropertyAccessor.THUMBNAIL_IMAGE_CACHE_SIZE_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.CANON_HOST_IP)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.CANON_HOST_IP, IPreferencePropertyAccessor.CANON_HOST_IP_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.CANON_CONNECTION_SEQUENCE)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.CANON_CONNECTION_SEQUENCE, IPreferencePropertyAccessor.CANON_CONNECTION_SEQUENCE_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.CANON_SMALL_PICTURE_TYPE)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.CANON_SMALL_PICTURE_TYPE, IPreferencePropertyAccessor.CANON_SMALL_PICTURE_TYPE_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_HOST_IP)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.VISIONKIDS_HOST_IP, IPreferencePropertyAccessor.VISIONKIDS_HOST_IP_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_FTP_USER)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.VISIONKIDS_FTP_USER, IPreferencePropertyAccessor.VISIONKIDS_FTP_USER_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_FTP_PASS)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.VISIONKIDS_FTP_PASS, IPreferencePropertyAccessor.VISIONKIDS_FTP_PASS_DEFAULT_VALUE ) } if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT)) { - editor.putString( + editor?.putString( IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT, IPreferencePropertyAccessor.VISIONKIDS_LIST_TIMEOUT_DEFAULT_VALUE ) } - editor.apply() + if (!items.containsKey(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP)) { + editor?.putBoolean(IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, true) + } + editor?.apply() } catch (e: Exception) { @@ -202,8 +205,8 @@ class VisionKidsPreferenceFragment: PreferenceFragmentCompat(), SharedPreference Log.v(TAG, " $key , $value") } - IPreferencePropertyAccessor.USE_OSC_THETA_V21 -> { - value = preferences?.getBoolean(key, false)?: false + IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP -> { + value = preferences?.getBoolean(key, true)?: true Log.v(TAG, " $key , $value") } @@ -322,15 +325,12 @@ class VisionKidsPreferenceFragment: PreferenceFragmentCompat(), SharedPreference /** * BooleanPreference の表示データを設定 * - * @param pref_key Preference(表示)のキー - * @param key Preference(データ)のキー - * @param defaultValue Preferenceのデフォルト値 */ - private fun setBooleanPreference(pref_key: String, key: String, defaultValue: Boolean) + private fun setBooleanPreference(prefKey: String, key: String, defaultValue: Boolean) { try { - val pref = findPreference(pref_key) + val pref = findPreference(prefKey) if (pref != null) { val value = preferences?.getBoolean(key, defaultValue)?: defaultValue @@ -360,6 +360,11 @@ class VisionKidsPreferenceFragment: PreferenceFragmentCompat(), SharedPreference IPreferencePropertyAccessor.AUTO_CONNECT_TO_CAMERA, defaultValue ) + setBooleanPreference( + IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, + IPreferencePropertyAccessor.VISIONKIDS_AUTO_SET_HOST_IP, + defaultValue + ) } catch (e: Exception) { diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 2eeaa8d..9883603 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -383,7 +383,7 @@ スモール画像がうまく取得できない場合、設定を変更してみてください。 (初期値: TYPE0) カメラIP(初期値:192.168.4.100) - VisionKids:192.168.4.100, myFirst:192.168.1.1 + カメラIPを設定するときのアドレス\nVisionKids:192.168.4.100, myFirst:192.168.1.1 カメラアクセス用設定(User) 通常、変更は不要です (初期値:ftp) @@ -394,4 +394,7 @@ 撮影画像一覧取得時のタイムアウト(単位:秒) 通常、変更は不要です (初期値:30) + カメラIPアドレスを自動設定 + 通常、ONのままでご使用ください。 + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e86e9f0..f01e4a2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -396,4 +396,6 @@ Get Pics List Timeout(unit: sec.) If the camera has many number of Pics, increase number. + Set camera ip automatically. + Normally to keep ON. diff --git a/app/src/main/res/xml/preferences_visionkids.xml b/app/src/main/res/xml/preferences_visionkids.xml index 8c1a7ca..bbfe932 100644 --- a/app/src/main/res/xml/preferences_visionkids.xml +++ b/app/src/main/res/xml/preferences_visionkids.xml @@ -25,6 +25,11 @@ + +