import net.osdn.gokigen.pkremote.camera.interfaces.control.ICameraConnection;
import net.osdn.gokigen.pkremote.camera.interfaces.playback.ICameraContent;
import net.osdn.gokigen.pkremote.camera.interfaces.playback.ICameraContentListCallback;
+import net.osdn.gokigen.pkremote.camera.utils.SimpleLogDumper;
import net.osdn.gokigen.pkremote.camera.vendor.nikon.wrapper.NikonInterfaceProvider;
import net.osdn.gokigen.pkremote.camera.vendor.ptpip.wrapper.command.IPtpIpCommandCallback;
import net.osdn.gokigen.pkremote.camera.vendor.ptpip.wrapper.command.IPtpIpCommandPublisher;
{
private final String TAG = toString();
private final NikonInterfaceProvider provider;
- private boolean isDumpLog = false;
+ private boolean isDumpLog = true;
private List<ICameraContent> imageObjectList;
private List<PtpIpImageContentInfo> ptpIpImageObjectList;
private ICameraContentListCallback callback = null;
private int subDirectoriesCount = -1;
private int receivedSubDirectoriesCount = -1;
+ private List<Integer> storageIdList;
NikonImageObjectReceiver(NikonInterfaceProvider provider)
{
this.provider = provider;
this.imageObjectList = new ArrayList<>();
this.ptpIpImageObjectList = new ArrayList<>();
+
+ this.storageIdList = new ArrayList<>();
+ }
+
+ private void parseStorageId(byte[] rx_body)
+ {
+ storageIdList.clear();
+ SimpleLogDumper.dump_bytes(" [GetStorageIds] ", rx_body);
}
+
@Override
public void receivedMessage(int id, byte[] rx_body)
{
{
case GET_STORAGE_ID:
// TODO: ストレージのIDを 0x00100010 で固定にしている。複数スロットある場合もあるので、このタイミングでちゃんと応答を parse してループさせる必要がある
+ parseStorageId(rx_body);
publisher.enqueueCommand(new PtpIpCommandGeneric(this, GET_STORAGE_INFO, isDumpLog, 0, 0x9102, 4, 0x00010001));
subDirectoriesCount = -1; // ここから画像取得シーケンスに入るので、、、
break;
// オブジェクト一覧をクリアする
this.imageObjectList.clear();
this.ptpIpImageObjectList.clear();
- publisher.enqueueCommand(new PtpIpCommandGeneric(this, GET_STORAGE_ID, isDumpLog, 0, 0x9101));
+
+ publisher.enqueueCommand(new PtpIpCommandGeneric(this, GET_STORAGE_ID, isDumpLog, 0, 0x1004)); // GetStorageIDs
this.callback = callback;
}
}
private final NikonInterfaceProvider provider;
private final PtpIpFullImageReceiver fullImageReceiver;
private final PtpIpSmallImageReceiver smallImageReciever;
- private String raw_suffix = "CR2";
+ private String raw_suffix = "NEF";
private boolean use_screennail_image = false;
- private NikonImageObjectReceiver canonImageObjectReceiver;
+ private NikonImageObjectReceiver nikonImageObjectReceiver;
public NikonPlaybackControl(Activity activity, NikonInterfaceProvider provider)
{
this.provider = provider;
this.fullImageReceiver = new PtpIpFullImageReceiver(activity, provider.getCommandPublisher());
this.smallImageReciever = new PtpIpSmallImageReceiver(activity, provider.getCommandPublisher());
- canonImageObjectReceiver = new NikonImageObjectReceiver(provider);
+ nikonImageObjectReceiver = new NikonImageObjectReceiver(provider);
try
{
start = 1;
}
final String indexStr = path.substring(start);
- PtpIpImageContentInfo content = canonImageObjectReceiver.getContentObject(indexStr);
+ PtpIpImageContentInfo content = nikonImageObjectReceiver.getContentObject(indexStr);
if (content != null)
{
IPtpIpCommandPublisher publisher = provider.getCommandPublisher();
final String indexStr = path.substring(start);
//Log.v(TAG, "downloadContentThumbnail() : [" + path + "] " + indexStr);
- PtpIpImageContentInfo content = canonImageObjectReceiver.getContentObject(indexStr);
+ PtpIpImageContentInfo content = nikonImageObjectReceiver.getContentObject(indexStr);
if (content != null)
{
IPtpIpCommandPublisher publisher = provider.getCommandPublisher();
start = 1;
}
final String indexStr = path.substring(start);
- PtpIpImageContentInfo content = canonImageObjectReceiver.getContentObject(indexStr);
+ PtpIpImageContentInfo content = nikonImageObjectReceiver.getContentObject(indexStr);
if (content != null)
{
if (isSmallSize)
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
- canonImageObjectReceiver.getCameraContents(callback);
+ nikonImageObjectReceiver.getCameraContents(callback);
}
});
thread.start();
if (checkEventInitialize(rx_body))
{
interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting1), false, false, 0);
- commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_OPEN_SESSION, isDumpLog, 0, 0x1002, 4, 0x41));
+ commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_OPEN_SESSION, isDumpLog, 0, 0x1002, 4, 0x41)); // OpenSession
}
else
{
case SEQ_OPEN_SESSION:
interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting2), false, false, 0);
- commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_INIT_SESSION, isDumpLog, 0, 0x902f));
+ commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_INIT_SESSION, isDumpLog, 0, 0x1001)); // GetDeviceInfo
break;
case SEQ_INIT_SESSION:
- interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting3), false, false, 0);
- commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_CHANGE_REMOTE, isDumpLog, 0, 0x9114, 4, 0x15));
- break;
-
case SEQ_CHANGE_REMOTE:
- interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting4), false, false, 0);
- commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_SET_EVENT_MODE, isDumpLog, 0, 0x902f, 4, 0x02));
- break;
-
case SEQ_SET_EVENT_MODE:
+ interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting3), false, false, 0);
+ interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting4), false, false, 0);
interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting5), false, false, 0);
interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.connect_connect_finished), false, false, 0);
connectFinished();
String AUTO_CONNECT_TO_CAMERA = "auto_connect_to_camera";
+ String DEBUG_INFO = "debug_info";
+
String BLE_POWER_ON = "ble_power_on";
String BLE_WIFI_ON = "ble_wifi_on";
+ String WIFI_SETTINGS = "wifi_settings";
+
String TAKE_MODE = "take_mode";
String TAKE_MODE_DEFAULT_VALUE = "P";
package net.osdn.gokigen.pkremote.preference.canon;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.provider.Settings;
import android.util.Log;
import java.util.Map;
import net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor;
import net.osdn.gokigen.pkremote.scene.IChangeScene;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.DEBUG_INFO;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.EXIT_APPLICATION;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.WIFI_SETTINGS;
+
/**
*
*
*/
-public class CanonPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener
+public class CanonPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, Preference.OnPreferenceClickListener
{
private final String TAG = toString();
+ private AppCompatActivity context = null;
private SharedPreferences preferences = null;
private PtpIpCameraPowerOff powerOffController = null;
private LogCatViewer logCatViewer = null;
logCatViewer = new LogCatViewer(changeScene);
logCatViewer.prepare();
+
+ this.context = context;
}
catch (Exception e)
{
});
connectionMethod.setSummary(connectionMethod.getValue() + " ");
- findPreference("exit_application").setOnPreferenceClickListener(powerOffController);
- findPreference("debug_info").setOnPreferenceClickListener(logCatViewer);
+ findPreference(EXIT_APPLICATION).setOnPreferenceClickListener(powerOffController);
+ findPreference(DEBUG_INFO).setOnPreferenceClickListener(logCatViewer);
+ findPreference(WIFI_SETTINGS).setOnPreferenceClickListener(this);
}
catch (Exception e)
{
});
}
}
+
+ @Override
+ public boolean onPreferenceClick(Preference preference)
+ {
+ try
+ {
+ String preferenceKey = preference.getKey();
+ if (preferenceKey.contains(WIFI_SETTINGS))
+ {
+ // Wifi 設定画面を表示する
+ Log.v(TAG, " onPreferenceClick : " + preferenceKey);
+ if (context != null)
+ {
+ context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ }
+ }
+ return (true);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (false);
+ }
}
package net.osdn.gokigen.pkremote.preference.fujix;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.provider.Settings;
import android.util.Log;
import java.util.Map;
import net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor;
import net.osdn.gokigen.pkremote.scene.IChangeScene;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.DEBUG_INFO;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.EXIT_APPLICATION;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.WIFI_SETTINGS;
+
/**
*
*
*/
-public class FujiXPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener
+public class FujiXPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, Preference.OnPreferenceClickListener
{
private final String TAG = toString();
+ private AppCompatActivity context = null;
private SharedPreferences preferences = null;
private CameraPowerOffFujiX powerOffController = null;
private LogCatViewer logCatViewer = null;
logCatViewer = new LogCatViewer(changeScene);
logCatViewer.prepare();
+
+ this.context = context;
}
catch (Exception e)
{
});
connectionMethod.setSummary(connectionMethod.getValue() + " ");
- findPreference("exit_application").setOnPreferenceClickListener(powerOffController);
- findPreference("debug_info").setOnPreferenceClickListener(logCatViewer);
- }
+ findPreference(EXIT_APPLICATION).setOnPreferenceClickListener(powerOffController);
+ findPreference(DEBUG_INFO).setOnPreferenceClickListener(logCatViewer);
+ findPreference(WIFI_SETTINGS).setOnPreferenceClickListener(this);
+ }
catch (Exception e)
{
e.printStackTrace();
}
}
+ @Override
+ public boolean onPreferenceClick(Preference preference)
+ {
+ try
+ {
+ String preferenceKey = preference.getKey();
+ if (preferenceKey.contains(WIFI_SETTINGS))
+ {
+ // Wifi 設定画面を表示する
+ Log.v(TAG, " onPreferenceClick : " + preferenceKey);
+ if (context != null)
+ {
+ context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ }
+ }
+ return (true);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (false);
+ }
}
package net.osdn.gokigen.pkremote.preference.nikon;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.provider.Settings;
import android.util.Log;
import java.util.Map;
import net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor;
import net.osdn.gokigen.pkremote.scene.IChangeScene;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.DEBUG_INFO;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.EXIT_APPLICATION;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.WIFI_SETTINGS;
+
/**
*
*
*/
-public class NikonPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener
+public class NikonPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, Preference.OnPreferenceClickListener
{
private final String TAG = toString();
+ private AppCompatActivity context = null;
private SharedPreferences preferences = null;
private PtpIpCameraPowerOff powerOffController = null;
private LogCatViewer logCatViewer = null;
logCatViewer = new LogCatViewer(changeScene);
logCatViewer.prepare();
+
+ this.context = context;
}
catch (Exception e)
{
});
connectionMethod.setSummary(connectionMethod.getValue() + " ");
- findPreference("exit_application").setOnPreferenceClickListener(powerOffController);
- findPreference("debug_info").setOnPreferenceClickListener(logCatViewer);
+ findPreference(EXIT_APPLICATION).setOnPreferenceClickListener(powerOffController);
+ findPreference(DEBUG_INFO).setOnPreferenceClickListener(logCatViewer);
+ findPreference(WIFI_SETTINGS).setOnPreferenceClickListener(this);
}
catch (Exception e)
{
// Preferenceの画面に反映させる
setBooleanPreference(IPreferencePropertyAccessor.AUTO_CONNECT_TO_CAMERA, IPreferencePropertyAccessor.AUTO_CONNECT_TO_CAMERA, true);
setBooleanPreference(IPreferencePropertyAccessor.CAPTURE_BOTH_CAMERA_AND_LIVE_VIEW, IPreferencePropertyAccessor.CAPTURE_BOTH_CAMERA_AND_LIVE_VIEW, true);
-
setBooleanPreference(IPreferencePropertyAccessor.BLE_WIFI_ON, IPreferencePropertyAccessor.BLE_WIFI_ON, false);
}
catch (Exception e)
}
}
+ @Override
+ public boolean onPreferenceClick(Preference preference)
+ {
+ try
+ {
+ String preferenceKey = preference.getKey();
+ if (preferenceKey.contains(WIFI_SETTINGS))
+ {
+ // Wifi 設定画面を表示する
+ Log.v(TAG, " onPreferenceClick : " + preferenceKey);
+ if (context != null)
+ {
+ context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ }
+ }
+ return (true);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (false);
+ }
}
import android.app.ProgressDialog;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.provider.Settings;
import android.util.Log;
import net.osdn.gokigen.pkremote.R;
import androidx.preference.PreferenceManager;
import jp.co.olympus.camerakit.OLYCamera;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.DEBUG_INFO;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.EXIT_APPLICATION;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.WIFI_SETTINGS;
+
/**
* SettingFragment
*
*/
-public class OpcPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, OpcPreferenceSynchronizer.IPropertySynchronizeCallback
+public class OpcPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, OpcPreferenceSynchronizer.IPropertySynchronizeCallback, Preference.OnPreferenceClickListener
{
private final String TAG = toString();
+ private AppCompatActivity context = null;
private IOlyCameraPropertyProvider propertyInterface = null;
private ICameraHardwareStatus hardwareStatusInterface = null;
private ICameraRunMode changeRunModeExecutor = null;
powerOffController.prepare();
logCatViewer = new LogCatViewer(changeScene);
logCatViewer.prepare();
+
+ this.context = context;
}
/**
});
smallPictureSize.setSummary(smallPictureSize.getValue() + " ");
}
- findPreference("exit_application").setOnPreferenceClickListener(powerOffController);
- findPreference("debug_info").setOnPreferenceClickListener(logCatViewer);
+ findPreference(EXIT_APPLICATION).setOnPreferenceClickListener(powerOffController);
+ findPreference(DEBUG_INFO).setOnPreferenceClickListener(logCatViewer);
+ findPreference(WIFI_SETTINGS).setOnPreferenceClickListener(this);
}
/**
}
});
}
+
+ @Override
+ public boolean onPreferenceClick(Preference preference)
+ {
+ try
+ {
+ String preferenceKey = preference.getKey();
+ if (preferenceKey.contains(WIFI_SETTINGS))
+ {
+ // Wifi 設定画面を表示する
+ Log.v(TAG, " onPreferenceClick : " + preferenceKey);
+ if (context != null)
+ {
+ context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ }
+ }
+ return (true);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (false);
+ }
}
package net.osdn.gokigen.pkremote.preference.olympuspen;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.provider.Settings;
import android.util.Log;
import java.util.Map;
import net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor;
import net.osdn.gokigen.pkremote.scene.IChangeScene;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.DEBUG_INFO;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.EXIT_APPLICATION;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.WIFI_SETTINGS;
+
/**
*
*
*/
-public class OlympusPenPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener
+public class OlympusPenPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, Preference.OnPreferenceClickListener
{
private final String TAG = toString();
+ private AppCompatActivity context = null;
private SharedPreferences preferences = null;
private OlympusPenCameraPowerOff powerOffController = null;
private LogCatViewer logCatViewer = null;
logCatViewer = new LogCatViewer(changeScene);
logCatViewer.prepare();
+
+ this.context = context;
}
catch (Exception e)
{
});
smallPictureSize.setSummary(smallPictureSize.getValue() + " ");
- findPreference("exit_application").setOnPreferenceClickListener(powerOffController);
- findPreference("debug_info").setOnPreferenceClickListener(logCatViewer);
+ findPreference(EXIT_APPLICATION).setOnPreferenceClickListener(powerOffController);
+ findPreference(DEBUG_INFO).setOnPreferenceClickListener(logCatViewer);
+ findPreference(WIFI_SETTINGS).setOnPreferenceClickListener(this);
}
catch (Exception e)
{
}
}
+ @Override
+ public boolean onPreferenceClick(Preference preference)
+ {
+ try
+ {
+ String preferenceKey = preference.getKey();
+ if (preferenceKey.contains(WIFI_SETTINGS))
+ {
+ // Wifi 設定画面を表示する
+ Log.v(TAG, " onPreferenceClick : " + preferenceKey);
+ if (context != null)
+ {
+ context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ }
+ }
+ return (true);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (false);
+ }
}
package net.osdn.gokigen.pkremote.preference.panasonic;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.provider.Settings;
import android.util.Log;
import androidx.annotation.NonNull;
import java.util.Map;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.DEBUG_INFO;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.EXIT_APPLICATION;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.WIFI_SETTINGS;
+
/**
*
*
*/
-public class PanasonicPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener
+public class PanasonicPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, Preference.OnPreferenceClickListener
{
private final String TAG = toString();
+ private AppCompatActivity context = null;
private SharedPreferences preferences = null;
private CameraPowerOffPanasonic powerOffController = null;
private LogCatViewer logCatViewer = null;
//cameraApiListViewer = new PanasonicCameraApiListViewer(changeScene);
//cameraApiListViewer.prepare();
+
+ this.context = context;
}
catch (Exception e)
{
});
connectionMethod.setSummary(connectionMethod.getValue() + " ");
- findPreference("exit_application").setOnPreferenceClickListener(powerOffController);
- findPreference("debug_info").setOnPreferenceClickListener(logCatViewer);
+ findPreference(EXIT_APPLICATION).setOnPreferenceClickListener(powerOffController);
+ findPreference(DEBUG_INFO).setOnPreferenceClickListener(logCatViewer);
+ findPreference(WIFI_SETTINGS).setOnPreferenceClickListener(this);
//findPreference("panasonic_api_list").setOnPreferenceClickListener(cameraApiListViewer);
}
catch (Exception e)
}
}
+ @Override
+ public boolean onPreferenceClick(Preference preference)
+ {
+ try
+ {
+ String preferenceKey = preference.getKey();
+ if (preferenceKey.contains(WIFI_SETTINGS))
+ {
+ // Wifi 設定画面を表示する
+ Log.v(TAG, " onPreferenceClick : " + preferenceKey);
+ if (context != null)
+ {
+ context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ }
+ }
+ return (true);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (false);
+ }
}
package net.osdn.gokigen.pkremote.preference.ricohgr2;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.provider.Settings;
import android.util.Log;
import net.osdn.gokigen.pkremote.R;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceManager;
-public class RicohGr2PreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.DEBUG_INFO;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.EXIT_APPLICATION;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.WIFI_SETTINGS;
+
+public class RicohGr2PreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, Preference.OnPreferenceClickListener
{
private final String TAG = toString();
+ private AppCompatActivity context = null;
private SharedPreferences preferences = null;
private CameraPowerOffRicohGr2 powerOffController = null;
private LogCatViewer logCatViewer = null;
logCatViewer = new LogCatViewer(changeScene);
logCatViewer.prepare();
+
+ this.context = context;
}
catch (Exception e)
{
});
smallPictureSize.setSummary(smallPictureSize.getValue() + " ");
*/
- findPreference("exit_application").setOnPreferenceClickListener(powerOffController);
- findPreference("debug_info").setOnPreferenceClickListener(logCatViewer);
+ findPreference(EXIT_APPLICATION).setOnPreferenceClickListener(powerOffController);
+ findPreference(DEBUG_INFO).setOnPreferenceClickListener(logCatViewer);
+ findPreference(WIFI_SETTINGS).setOnPreferenceClickListener(this);
}
catch (Exception e)
{
});
}
}
+
+ @Override
+ public boolean onPreferenceClick(Preference preference)
+ {
+ try
+ {
+ String preferenceKey = preference.getKey();
+ if (preferenceKey.contains(WIFI_SETTINGS))
+ {
+ // Wifi 設定画面を表示する
+ Log.v(TAG, " onPreferenceClick : " + preferenceKey);
+ if (context != null)
+ {
+ context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ }
+ }
+ return (true);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (false);
+ }
}
package net.osdn.gokigen.pkremote.preference.sony;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.provider.Settings;
import android.util.Log;
import java.util.Map;
import net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor;
import net.osdn.gokigen.pkremote.scene.IChangeScene;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.DEBUG_INFO;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.EXIT_APPLICATION;
+import static net.osdn.gokigen.pkremote.preference.IPreferencePropertyAccessor.WIFI_SETTINGS;
+
/**
*
*
*/
-public class SonyPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener
+public class SonyPreferenceFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener, Preference.OnPreferenceClickListener
{
private final String TAG = toString();
+ private AppCompatActivity context = null;
private SharedPreferences preferences = null;
private CameraPowerOffSony powerOffController = null;
private LogCatViewer logCatViewer = null;
cameraApiListViewer = new SonyCameraApiListViewer(changeScene);
cameraApiListViewer.prepare();
+
+ this.context = context;
}
catch (Exception e)
{
});
connectionMethod.setSummary(connectionMethod.getValue() + " ");
- findPreference("exit_application").setOnPreferenceClickListener(powerOffController);
- findPreference("debug_info").setOnPreferenceClickListener(logCatViewer);
+ findPreference(EXIT_APPLICATION).setOnPreferenceClickListener(powerOffController);
+ findPreference(DEBUG_INFO).setOnPreferenceClickListener(logCatViewer);
+ findPreference(WIFI_SETTINGS).setOnPreferenceClickListener(this);
findPreference("sony_api_list").setOnPreferenceClickListener(cameraApiListViewer);
}
catch (Exception e)
}
}
+ @Override
+ public boolean onPreferenceClick(Preference preference)
+ {
+ try
+ {
+ String preferenceKey = preference.getKey();
+ if (preferenceKey.contains(WIFI_SETTINGS))
+ {
+ // Wifi 設定画面を表示する
+ Log.v(TAG, " onPreferenceClick : " + preferenceKey);
+ if (context != null)
+ {
+ context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
+ }
+ }
+ return (true);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (false);
+ }
}
<string name="pref_ble_wifi_on">Bluetooth LEでWIFIをONにする</string>
<string name="pref_summary_ble_wifi_on">SnapBridge対応カメラは、チェックを入れてください。</string>
+ <string name="pref_wifi_settings">WiFi設定</string>
+ <string name="pref_summary_wifi_settings"> </string>
+
</resources>
<string name="pref_ble_wifi_on">WIFI ON via Bluetooth LE</string>
<string name="pref_summary_ble_wifi_on">Check ON for \'SnapBridge\' Cameras.</string>
+ <string name="pref_wifi_settings">WIFI Settings</string>
+ <string name="pref_summary_wifi_settings"> </string>
+
</resources>
android:key="connection_method"
android:defaultValue="OPC"/>
+ <PreferenceScreen
+ android:key="wifi_settings"
+ android:title="@string/pref_wifi_settings"
+ android:summary="@string/pref_summary_wifi_settings" />
+
</PreferenceCategory>
<PreferenceCategory
android:key="connection_method"
android:defaultValue="OPC"/>
+ <PreferenceScreen
+ android:key="wifi_settings"
+ android:title="@string/pref_wifi_settings"
+ android:summary="@string/pref_summary_wifi_settings" />
+
</PreferenceCategory>
<PreferenceCategory
android:key="connection_method"
android:defaultValue="OPC"/>
+ <PreferenceScreen
+ android:key="wifi_settings"
+ android:title="@string/pref_wifi_settings"
+ android:summary="@string/pref_summary_wifi_settings" />
+
</PreferenceCategory>
<PreferenceCategory
android:key="connection_method"
android:defaultValue="OPC"/>
+ <PreferenceScreen
+ android:key="wifi_settings"
+ android:title="@string/pref_wifi_settings"
+ android:summary="@string/pref_summary_wifi_settings" />
+
</PreferenceCategory>
<PreferenceCategory
android:key="connection_method"
android:defaultValue="OPC"/>
+ <PreferenceScreen
+ android:key="wifi_settings"
+ android:title="@string/pref_wifi_settings"
+ android:summary="@string/pref_summary_wifi_settings" />
+
</PreferenceCategory>
<PreferenceCategory
android:key="connection_method"
android:defaultValue="OPC"/>
+ <PreferenceScreen
+ android:key="wifi_settings"
+ android:title="@string/pref_wifi_settings"
+ android:summary="@string/pref_summary_wifi_settings" />
+
</PreferenceCategory>
<!--
android:key="connection_method"
android:defaultValue="RICOH_GR2"/>
+ <PreferenceScreen
+ android:key="wifi_settings"
+ android:title="@string/pref_wifi_settings"
+ android:summary="@string/pref_summary_wifi_settings" />
+
</PreferenceCategory>
<!--
<PreferenceCategory
android:key="connection_method"
android:defaultValue="OPC"/>
+ <PreferenceScreen
+ android:key="wifi_settings"
+ android:title="@string/pref_wifi_settings"
+ android:summary="@string/pref_summary_wifi_settings" />
+
</PreferenceCategory>
<PreferenceCategory
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.5.1'
+ classpath 'com.android.tools.build:gradle:3.5.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files