1 package jp.sfjp.gokigen.a01c.liveview;
4 import android.content.Context;
5 import android.content.SharedPreferences;
6 import android.support.v7.preference.PreferenceManager;
7 import android.util.Log;
8 import android.view.MotionEvent;
9 import android.view.View;
10 import android.widget.Toast;
12 import java.util.List;
14 import jp.sfjp.gokigen.a01c.IShowInformation;
15 import jp.sfjp.gokigen.a01c.R;
16 import jp.sfjp.gokigen.a01c.olycamerawrapper.IOlyCameraCoordinator;
17 import jp.sfjp.gokigen.a01c.olycamerawrapper.IOlyCameraProperty;
18 import jp.sfjp.gokigen.a01c.olycamerawrapper.IOlyCameraPropertyProvider;
20 import static jp.sfjp.gokigen.a01c.liveview.ICameraFeatureDispatcher.ACTION_SECOND_CHOICE;
27 public class OlyCameraLiveViewOnTouchListener implements View.OnClickListener, View.OnTouchListener, View.OnLongClickListener
29 private final String TAG = toString();
30 private final Context context;
31 private IOlyCameraCoordinator camera = null;
32 private IShowInformation statusDrawer = null;
33 private ILiveImageStatusNotify liveImageView = null;
34 private final SharedPreferences preferences;
36 private boolean prohibitOperation = true;
41 public OlyCameraLiveViewOnTouchListener(Context context)
43 this.context = context;
44 preferences = PreferenceManager.getDefaultSharedPreferences(context);
50 public void prepareInterfaces(IOlyCameraCoordinator cameraCoordinator, IShowInformation statusDrawer, ILiveImageStatusNotify liveImageView)
52 this.camera = cameraCoordinator;
53 this.statusDrawer = statusDrawer;
54 this.liveImageView = liveImageView;
58 * ボタン(オブジェクト)をクリックしたときの処理
62 public void onClick(View v)
65 Log.v(TAG, "onClick() : " + id);
66 if (prohibitOperation)
68 // 操作禁止の指示がされていた場合は何もしない
69 Log.v(TAG, "onClick() : prohibit operation");
116 public boolean onLongClick(View v)
120 Log.v(TAG, "onLongClick() : " + id);
121 if (prohibitOperation)
123 // 操作禁止の指示がされていた場合は何もしない
124 Log.v(TAG, "onClick() : prohibit operation");
130 ret = pushedButton1(true);
133 ret = pushedButton2(true);
136 ret = pushedButton3(true);
139 ret = pushedButton4(true);
142 ret = pushedButton5(true);
145 ret = pushedButton6(true);
148 ret = pushedArea1(true);
151 ret = pushedArea2(true);
154 ret = pushedArea3(true);
157 ret = pushedArea4(true);
167 * 画面(ライブビュー部分)をタッチした時の処理
171 public boolean onTouch(View v, MotionEvent event)
174 Log.v(TAG, "onTouch() : " + id);
175 if (prohibitOperation)
177 // 操作禁止の指示がされていた場合は何もしない
178 Log.v(TAG, "onTouch() : prohibit operation");
181 //Intent intent = new Intent("com.google.android.clockwork.settings.connectivity.wifi.ADD_NETWORK_SETTINGS");
182 //context.startActivity(intent);
185 return ((id == R.id.liveview)&&(touchedLiveViewArea(event)));
191 * @param operation true: 操作可能, false: 操作不可
194 public void setEnableOperation(boolean operation)
196 prohibitOperation = !operation;
200 /***************************************************************
201 * 以下、ボタンが押された時の処理... あとで切り離す。
203 ***************************************************************/
205 private boolean touchedLiveViewArea(MotionEvent event)
207 return (camera.driveAutoFocus(event));
211 * ボタン1が押された時の機能を引き当て実行する
214 private boolean pushedButton1(boolean isLongClick)
216 int defaultAction = ICameraFeatureDispatcher.FEATURE_TOGGLE_SHOW_GRID;
217 String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON1;
220 preference_action_id = preference_action_id + ACTION_SECOND_CHOICE;
221 defaultAction = ICameraFeatureDispatcher.FEATURE_TOGGLE_SHOW_LEVEL_GAUGE;
223 String takeMode = getTakeMode();
227 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
231 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
235 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
239 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
243 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
247 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
251 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
257 return (dispatchAction(IShowInformation.BUTTON_1, preferences.getInt(preference_action_id, defaultAction)));
262 * ボタン2が押された時の機能を引き当て実行する
265 private boolean pushedButton2(boolean isLongClick)
267 int defaultAction = ICameraFeatureDispatcher.FEATURE_ACTION_NONE;
268 String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON2;
271 preference_action_id = preference_action_id + ACTION_SECOND_CHOICE;
273 String takeMode = getTakeMode();
277 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
278 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_COLORTONE_DOWN : ICameraFeatureDispatcher.FEATURE_COLORTONE_DOWN;
282 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
283 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_APERTURE_DOWN : ICameraFeatureDispatcher.FEATURE_APERTURE_DOWN;
287 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
288 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_DOWN : ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_DOWN;
292 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
293 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_DOWN : ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_DOWN;
297 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
298 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_ART_FILTER_DOWN : ICameraFeatureDispatcher.FEATURE_ART_FILTER_DOWN;
302 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
306 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
312 return (dispatchAction(IShowInformation.BUTTON_2, preferences.getInt(preference_action_id, defaultAction)));
316 * ボタン3が押された時の機能を引き当て実行する
319 private boolean pushedButton3(boolean isLongClick)
321 int defaultAction = ICameraFeatureDispatcher.FEATURE_ACTION_NONE;
322 String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON3;
325 preference_action_id = preference_action_id + ACTION_SECOND_CHOICE;
327 String takeMode = getTakeMode();
331 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
332 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_COLORTONE_UP : ICameraFeatureDispatcher.FEATURE_COLORTONE_UP;
336 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
337 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_APERTURE_UP : ICameraFeatureDispatcher.FEATURE_APERTURE_UP;
341 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
342 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_UP : ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_UP;
346 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
347 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_UP : ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_UP;
351 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
352 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_ART_FILTER_UP : ICameraFeatureDispatcher.FEATURE_ART_FILTER_UP;
356 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
360 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
366 return (dispatchAction(IShowInformation.BUTTON_3, preferences.getInt(preference_action_id, defaultAction)));
370 * ボタン4が押された時の機能を引き当て実行する
373 private boolean pushedButton4(boolean isLongClick)
375 int defaultAction = ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
376 String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON4;
379 preference_action_id = preference_action_id + ACTION_SECOND_CHOICE;
381 String takeMode = getTakeMode();
385 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
386 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
390 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
391 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
395 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
396 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
400 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
401 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_APERTURE_DOWN : ICameraFeatureDispatcher.FEATURE_APERTURE_DOWN;
405 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
406 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
410 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
411 defaultAction = ICameraFeatureDispatcher.FEATURE_ACTION_NONE;
415 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
416 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN;
422 return (dispatchAction(IShowInformation.BUTTON_4, preferences.getInt(preference_action_id, defaultAction)));
426 * ボタン5が押された時の機能を引き当て実行する
429 private boolean pushedButton5(boolean isLongClick)
431 int defaultAction = ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP;
432 String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON5;
435 preference_action_id = preference_action_id + ACTION_SECOND_CHOICE;
437 String takeMode = getTakeMode();
441 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
442 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP;
446 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
447 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP;
451 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
452 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP;
456 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
457 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_APERTURE_UP : ICameraFeatureDispatcher.FEATURE_APERTURE_UP;
461 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
462 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP;
466 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
467 defaultAction = ICameraFeatureDispatcher.FEATURE_ACTION_NONE;
471 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
472 defaultAction = (isLongClick) ? ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP : ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP;
478 return (dispatchAction(IShowInformation.BUTTON_5, preferences.getInt(preference_action_id, defaultAction)));
482 * ボタン6が押された時の機能を引き当て実行する
485 private boolean pushedButton6(boolean isLongClick)
487 int defaultAction = ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT;
488 String preference_action_id = ICameraFeatureDispatcher.ACTION_BUTTON6;
491 preference_action_id = preference_action_id + ACTION_SECOND_CHOICE;
493 String takeMode = getTakeMode();
497 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
501 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
505 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
509 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
513 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
517 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
521 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
527 return (dispatchAction(IShowInformation.BUTTON_6, preferences.getInt(preference_action_id, defaultAction)));
532 * 表示エリア1が押された時の機能を引き当て実行する
535 private boolean pushedArea1(boolean isLongClick)
537 int defaultAction = ICameraFeatureDispatcher.FEATURE_CHANGE_TAKEMODE;
538 String preference_action_id = ICameraFeatureDispatcher.ACTION_AREA1;
541 preference_action_id = preference_action_id + ACTION_SECOND_CHOICE;
542 defaultAction = ICameraFeatureDispatcher.FEATURE_CHANGE_TAKEMODE_REVERSE;
544 String takeMode = getTakeMode();
548 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
552 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
556 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
560 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
564 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
568 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
572 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
578 return (dispatchAction(IShowInformation.AREA_1, preferences.getInt(preference_action_id, defaultAction)));
582 * 表示エリア2が押された時の機能を引き当て実行する
585 private boolean pushedArea2(boolean isLongClick)
587 int defaultAction = ICameraFeatureDispatcher.FEATURE_ACTION_NONE;
588 String preference_action_id = ICameraFeatureDispatcher.ACTION_AREA2;
591 preference_action_id = preference_action_id + ACTION_SECOND_CHOICE;
593 String takeMode = getTakeMode();
597 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
601 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
605 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
609 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
613 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
617 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
621 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
627 return (dispatchAction(IShowInformation.AREA_2, preferences.getInt(preference_action_id, defaultAction)));
631 * 表示エリア3が押された時の機能を引き当て実行する
634 private boolean pushedArea3(boolean isLongClick)
636 int defaultAction = ICameraFeatureDispatcher.FEATURE_CHAGE_AE_LOCK_MODE;
637 String preference_action_id = ICameraFeatureDispatcher.ACTION_AREA3;
640 preference_action_id = preference_action_id + ACTION_SECOND_CHOICE;
642 String takeMode = getTakeMode();
646 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_P;
650 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_A;
654 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_S;
658 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_M;
662 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_ART;
666 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_IAUTO;
670 preference_action_id = preference_action_id + ICameraFeatureDispatcher.MODE_MOVIE;
676 return (dispatchAction(IShowInformation.AREA_3, preferences.getInt(preference_action_id, defaultAction)));
680 * テキスト表示エリア4(機能は「設定画面を開く」で固定)
682 private boolean pushedArea4(boolean isLongClick)
687 return (dispatchAction(IShowInformation.AREA_4, ICameraFeatureDispatcher.FEATURE_SETTINGS));
691 return (dispatchAction(IShowInformation.AREA_4, ICameraFeatureDispatcher.FEATURE_SETTINGS));
694 /***************************************************************
695 * 以下、具体的な機能の実行... ここから下は、あとで切り離す。
697 ***************************************************************/
699 private String getTakeMode()
701 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
702 return (propertyProxy.getCameraPropertyValueTitle(propertyProxy.getCameraPropertyValue(IOlyCameraProperty.TAKE_MODE)));
708 * (P > A > S > M > ART > iAuto > ...)
710 private void changeTakeMode()
712 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
713 String propetyValue = propertyProxy.getCameraPropertyValueTitle(propertyProxy.getCameraPropertyValue(IOlyCameraProperty.TAKE_MODE));
714 if (propetyValue == null)
719 String targetMode = "<" + IOlyCameraProperty.TAKE_MODE; // 変更先モード
720 switch (propetyValue)
723 targetMode = targetMode + "/A>";
727 targetMode = targetMode + "/S>";
731 targetMode = targetMode + "/M>";
735 targetMode = targetMode + "/ART>";
739 targetMode = targetMode + "/iAuto>";
745 targetMode = targetMode + "/P>";
748 Log.v(TAG, "changeTakeMode() " + targetMode);
749 propertyProxy.setCameraPropertyValue(IOlyCameraProperty.TAKE_MODE, targetMode);
750 camera.unlockAutoFocus();
753 //camera.updateTakeMode();
759 * (iAuto < P < A < S < M < ART < iAuto < ...)
761 private void changeTakeModeReverse()
763 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
764 String propetyValue = propertyProxy.getCameraPropertyValueTitle(propertyProxy.getCameraPropertyValue(IOlyCameraProperty.TAKE_MODE));
765 if (propetyValue == null)
770 String targetMode = "<" + IOlyCameraProperty.TAKE_MODE; // 変更先モード
771 switch (propetyValue)
774 targetMode = targetMode + "/iAuto>";
778 targetMode = targetMode + "/P>";
782 targetMode = targetMode + "/A>";
786 targetMode = targetMode + "/S>";
790 targetMode = targetMode + "/M>";
796 targetMode = targetMode + "/ART>";
799 Log.v(TAG, "changeTakeMode() " + targetMode);
800 propertyProxy.setCameraPropertyValue(IOlyCameraProperty.TAKE_MODE, targetMode);
801 camera.unlockAutoFocus();
804 //camera.updateTakeMode();
810 * (現在は、連続撮影モードやムービー撮影についてはまだ非対応)
812 private void pushShutterButton()
817 // 撮影の表示をToastで行う (成功とか失敗とか言っていない)
818 Toast.makeText(context, R.string.shoot_camera, Toast.LENGTH_SHORT).show();
823 * グリッド表示の ON/OFFを切り替える
826 private void changeShowGrid(int objectId)
828 liveImageView.toggleShowGridFrame();
829 updateGridStatusButton(objectId);
834 * デジタル水準器の ON/OFFを切り替える
837 private void changeShowLevelGauge()
839 liveImageView.toggleShowLevelGauge();
846 private void changeAeLockMode()
848 camera.toggleAutoExposure();
852 * グリッドフレームの表示・非表示ボタンを更新する
855 private void updateGridStatusButton(int buttonId)
858 if (liveImageView.isShowGrid())
860 // グリッドがON状態、グリッドをOFFにするボタンを出す
861 btnResId = R.drawable.btn_ic_grid_off;
865 // グリッドがOFF状態、グリッドをONにするボタンを出す
866 btnResId = R.drawable.btn_ic_grid_on;
868 statusDrawer.setButtonDrawable(buttonId, btnResId);
874 private void changeExposureBiasValueDown()
876 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
877 propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.EXPOSURE_COMPENSATION);
884 private void changeExposureBiasValueUp()
886 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
887 propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.EXPOSURE_COMPENSATION);
893 private void changeApertureValueDown()
895 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
896 propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.APERTURE);
903 private void changeApertureValueUp()
905 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
906 propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.APERTURE);
912 private void changeShutterSpeedDown()
914 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
915 propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.SHUTTER_SPEED);
922 private void changeShutterSpeedUp()
924 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
925 propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.SHUTTER_SPEED);
930 * 仕上がり・ピクチャーモードを1段階下げる
932 private void changeColorToneDown()
934 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
935 propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.COLOR_TONE);
939 * 仕上がり・ピクチャーモードを1段階あげる
942 private void changeColorToneUp()
944 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
945 propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.COLOR_TONE);
952 private void changeArtFilterDown()
954 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
955 propertyProxy.updateCameraPropertyDown(IOlyCameraProperty.ART_FILTER);
962 private void changeArtFilterUp()
964 IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
965 propertyProxy.updateCameraPropertyUp(IOlyCameraProperty.ART_FILTER);
973 private void showSettingsScreen()
981 * @param objectId 操作したオブジェクト
982 * @param featureNumber 操作する機能
984 private boolean dispatchAction(int objectId, int featureNumber)
986 if (featureNumber <= ICameraFeatureDispatcher.FEATURE_ACTION_NONE)
993 int duration = IShowInformation.VIBRATE_PATTERN_SIMPLE_SHORT;
994 switch (featureNumber)
996 case ICameraFeatureDispatcher.FEATURE_SETTINGS:
998 showSettingsScreen();
999 duration =IShowInformation.VIBRATE_PATTERN_NONE;
1001 case ICameraFeatureDispatcher.FEATURE_TOGGLE_SHOW_GRID:
1003 changeShowGrid(objectId);
1005 case ICameraFeatureDispatcher.FEATURE_SHUTTER_SINGLESHOT:
1007 pushShutterButton();
1008 //duration =IShowInformation.VIBRATE_PATTERN_NONE;
1010 case ICameraFeatureDispatcher.FEATURE_CHANGE_TAKEMODE:
1014 case ICameraFeatureDispatcher.FEATURE_CHAGE_AE_LOCK_MODE:
1015 // AE LOCKのON/OFF切り替え
1018 case ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_DOWN:
1020 changeExposureBiasValueDown();
1022 case ICameraFeatureDispatcher.FEATURE_EXPOSURE_BIAS_UP:
1024 changeExposureBiasValueUp();
1026 case ICameraFeatureDispatcher.FEATURE_APERTURE_DOWN:
1028 changeApertureValueDown();
1030 case ICameraFeatureDispatcher.FEATURE_APERTURE_UP:
1032 changeApertureValueUp();
1034 case ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_DOWN:
1036 changeShutterSpeedDown();
1038 case ICameraFeatureDispatcher.FEATURE_SHUTTER_SPEED_UP:
1040 changeShutterSpeedUp();
1042 case ICameraFeatureDispatcher.FEATURE_COLORTONE_DOWN:
1044 changeColorToneDown();
1046 case ICameraFeatureDispatcher.FEATURE_COLORTONE_UP:
1048 changeColorToneUp();
1050 case ICameraFeatureDispatcher.FEATURE_ART_FILTER_DOWN:
1052 changeArtFilterDown();
1054 case ICameraFeatureDispatcher.FEATURE_ART_FILTER_UP:
1056 changeArtFilterUp();
1058 case ICameraFeatureDispatcher.FEATURE_TOGGLE_SHOW_LEVEL_GAUGE:
1060 changeShowLevelGauge();
1062 case ICameraFeatureDispatcher.FEATURE_CHANGE_TAKEMODE_REVERSE:
1064 changeTakeModeReverse();
1068 // コマンド実行完了後、ぶるぶるさせる
1069 statusDrawer.vibrate(duration);