package net.osdn.gokigen.gr2control.liveview;
-import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Color;
import androidx.core.content.res.ResourcesCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
import androidx.preference.PreferenceManager;
import android.util.Log;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import net.osdn.gokigen.gr2control.camera.ICameraConnection;
import net.osdn.gokigen.gr2control.camera.ICameraInformation;
import net.osdn.gokigen.gr2control.camera.ICameraRunMode;
+import net.osdn.gokigen.gr2control.camera.ICameraRunModeCallback;
import net.osdn.gokigen.gr2control.camera.ICameraStatus;
import net.osdn.gokigen.gr2control.camera.ICameraStatusWatcher;
import net.osdn.gokigen.gr2control.camera.IDisplayInjector;
* 撮影用ライブビュー画面
*
*/
-public class LiveViewFragment extends Fragment implements IStatusViewDrawer, IFocusingModeNotify, IFavoriteSettingDialogKicker, ICameraStatusUpdateNotify, LiveViewKeyPanelClickListener.KeyPanelFeedback
+public class LiveViewFragment extends Fragment implements IStatusViewDrawer, IFocusingModeNotify, IFavoriteSettingDialogKicker, ICameraStatusUpdateNotify, LiveViewKeyPanelClickListener.KeyPanelFeedback, ICameraRunModeCallback
{
private final String TAG = this.toString();
private LiveViewClickTouchListener onClickTouchListener = null;
private LiveViewControlPanelClickListener onPanelClickListener = null;
private LiveViewKeyPanelClickListener onKeyPanelClickListener = null;
+ private LiveViewFujiXKeyPanelClickListener fujiXOnKeyPanelClickListener = null;
private TextView statusArea = null;
private TextView focalLengthArea = null;
*
*/
@Override
- public void onAttach(Context context)
+ public void onAttach(@NonNull Context context)
{
super.onAttach(context);
Log.v(TAG, "onAttach()");
{
Log.v(TAG, "interfaceInjector is NULL...");
}
- Activity activity = this.getActivity();
+ FragmentActivity activity = this.getActivity();
Vibrator vibrator = (activity != null) ? (Vibrator) activity.getSystemService(VIBRATOR_SERVICE) : null;
if ((onClickTouchListener == null)&&(activity != null))
{
setOnClickListener(view, R.id.zoom_in_button);
setOnClickListener(view, R.id.zoom_out_button);
setOnClickListener(view, R.id.specialButtonImageView);
+ setOnClickListener(view, R.id.fuji_x_hideKeyPanelTextView);
if (onPanelClickListener == null)
{
setKeyPanelClickListener(view, R.id.button_lcd_onoff);
setKeyPanelClickListener(view, R.id.button_highlight);
+ if (fujiXOnKeyPanelClickListener == null)
+ {
+ fujiXOnKeyPanelClickListener = new LiveViewFujiXKeyPanelClickListener(getActivity(), interfaceProvider, vibrator);
+ }
+ setFujiXKeyPanelClickListener(view, R.id.button_fuji_x_sv_minus);
+ setFujiXKeyPanelClickListener(view, R.id.button_fuji_x_sv_plus);
+ setFujiXKeyPanelClickListener(view, R.id.button_fuji_x_tv_minus);
+ setFujiXKeyPanelClickListener(view, R.id.button_fuji_x_tv_plus);
+ setFujiXKeyPanelClickListener(view, R.id.button_fuji_x_xv_minus);
+ setFujiXKeyPanelClickListener(view, R.id.button_fuji_x_xv_plus);
+ setFujiXKeyPanelClickListener(view, R.id.button_fuji_x_flash);
+ setFujiXKeyPanelClickListener(view, R.id.button_fuji_x_timer);
+
connectStatus = view.findViewById(R.id.connect_disconnect_button);
if (connectStatus != null)
{
}
}
+ private void setFujiXKeyPanelClickListener(View view, int id)
+ {
+ try
+ {
+ View button = view.findViewById(id);
+ if (button != null)
+ {
+ button.setOnClickListener(fujiXOnKeyPanelClickListener);
+ button.setOnLongClickListener(fujiXOnKeyPanelClickListener);
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
/**
*
*/
{
try
{
- Activity activity = getActivity();
+ FragmentActivity activity = getActivity();
if (activity != null)
{
if (showGrid == null) {
if ((changeRunModeExecutor != null)&&(!changeRunModeExecutor.isRecordingMode()))
{
// Runモードを切り替える。(でも切り替えると、設定がクリアされてしまう...。)
- changeRunModeExecutor.changeRunMode(true);
+ changeRunModeExecutor.changeRunMode(true, this);
+ Log.v(TAG, "onResume() End");
+ return;
}
+ prepareToStart();
+ Log.v(TAG, "onResume() End");
+ }
- // propertyを取得
+ private void prepareToStart()
+ {
try
{
Context context = getContext();
{
e.printStackTrace();
}
- Log.v(TAG, "onResume() End");
+ }
+
+ @Override
+ public void onCompleted(boolean isRecording)
+ {
+ prepareToStart();
+ }
+
+ @Override
+ public void onErrorOccurred(boolean isRecording)
+ {
+ prepareToStart();
}
/**
@Override
public void startLiveView()
{
+ Log.v(TAG, " LiveViewFragment::startLiveView() ");
ICameraConnection.CameraConnectionMethod connectionMethod = interfaceProvider.getCammeraConnectionMethod();
if (liveViewControl == null)
{
@Override
public void run() {
// isVisibleがtrueなら、ズームレンズボタンを有効にする
- Activity activity = getActivity();
+ FragmentActivity activity = getActivity();
if (activity != null)
{
try
*/
private void runOnUiThread(Runnable action)
{
- Activity activity = getActivity();
+ FragmentActivity activity = getActivity();
if (activity == null)
{
return;
{
try
{
- final Activity activity = getActivity();
+ final FragmentActivity activity = getActivity();
if (activity == null)
{
return;
try
{
final String shutterSpeed = tv.replace(".", "/");
- final Activity activity = getActivity();
+ final FragmentActivity activity = getActivity();
if (activity == null)
{
return;
try
{
final String apertureValue = (av.length() > 1) ? ("F" + av) : "";
- final Activity activity = getActivity();
+ final FragmentActivity activity = getActivity();
if (activity == null)
{
return;
{
try
{
- final Activity activity = getActivity();
+ final FragmentActivity activity = getActivity();
if (activity == null)
{
return;
try
{
Log.v(TAG, "updatedMeteringMode() : " + meteringMode);
- final Activity activity = getActivity();
+ final FragmentActivity activity = getActivity();
if ((activity == null)||(meteringMode == null))
{
return;
{
try
{
- final Activity activity = getActivity();
+ final FragmentActivity activity = getActivity();
if (activity == null)
{
return;
@Override
public void updateFocusedStatus(final boolean focused, final boolean focusLocked)
{
- final Activity activity = getActivity();
+ final FragmentActivity activity = getActivity();
try
{
if (activity != null)
{
try
{
- Activity activity = getActivity();
+ FragmentActivity activity = getActivity();
if (activity != null)
{
ImageView imageView = activity.findViewById(R.id.button_toggle_aeaf);
{
try
{
- Activity activity = getActivity();
+ FragmentActivity activity = getActivity();
if (activity != null)
{
TextView textView = activity.findViewById(R.id.lever_ael_caf);
e.printStackTrace();
}
}
+
+ public boolean handleKeyDown(int keyCode, KeyEvent event)
+ {
+ return (onClickTouchListener.onKey(null, keyCode, event));
+ }
}