package jp.sfjp.gokigen.a01c;
-import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.preference.PreferenceManager;
REQUEST_NEED_PERMISSIONS);
}
+ if (!hasGps())
+ {
+ // GPS機能が搭載されていない場合...
+ if (Log.isLoggable(TAG, Log.DEBUG))
+ {
+ Log.d(TAG, "This hardware doesn't have GPS.");
+ }
+ // Fall back to functionality that does not use location or
+ // warn the user that location function is not available.
+ }
+
listener = new OlyCameraLiveViewOnTouchListener(this);
setupCameraCoordinator();
final TextView textArea = (TextView) findViewById(areaId);
textArea.setTextColor(color);
textArea.setText(message);
+ textArea.invalidate();
}
});
}
}
});
}
+
+ /**
+ *
+ * @return true GPS搭載, false GPS非搭載
+ */
+ private boolean hasGps()
+ {
+ return (getPackageManager().hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS));
+ }
}
import android.content.Context;
import android.content.SharedPreferences;
-import android.graphics.Color;
import android.support.v7.preference.PreferenceManager;
import android.util.Log;
import android.view.MotionEvent;
private void pushedButton1()
{
+ String takeMode = getTakeMode();
+ switch (takeMode)
+ {
+ case "P":
+ //
+ break;
+
+ case "A":
+ //
+ break;
+
+ case "S":
+ //
+ break;
+
+ case "M":
+ //
+ break;
+
+ case "ART":
+ //
+ break;
+
+ case "iAuto":
+ case "movie":
+ default:
+ //
+ break;
+ }
// グリッドの表示 / 非表示
changeShowGrid();
}
private void pushedButton2()
{
+ String takeMode = getTakeMode();
+ switch (takeMode)
+ {
+ case "P":
+ //
+ break;
+
+ case "A":
+ //
+ break;
+ case "S":
+ //
+ break;
+
+ case "M":
+ //
+ break;
+
+ case "ART":
+ //
+ break;
+ case "iAuto":
+ case "movie":
+ default:
+ //
+ break;
+ }
}
private void pushedButton3()
{
+ String takeMode = getTakeMode();
+ switch (takeMode)
+ {
+ case "P":
+ //
+ break;
+ case "A":
+ //
+ break;
+ case "S":
+ //
+ break;
+
+ case "M":
+ //
+ break;
+
+ case "ART":
+ //
+ break;
+
+ case "iAuto":
+ case "movie":
+ default:
+ //
+ break;
+ }
}
private void pushedButton4()
{
+ String takeMode = getTakeMode();
+ switch (takeMode)
+ {
+ case "P":
+ //
+ break;
+
+ case "A":
+ //
+ break;
+
+ case "S":
+ //
+ break;
+
+ case "M":
+ //
+ break;
+ case "ART":
+ //
+ break;
+ case "iAuto":
+ case "movie":
+ default:
+ //
+ break;
+ }
}
private void pushedButton5()
{
+ String takeMode = getTakeMode();
+ switch (takeMode)
+ {
+ case "P":
+ //
+ break;
+
+ case "A":
+ //
+ break;
+ case "S":
+ //
+ break;
+
+ case "M":
+ //
+ break;
+ case "ART":
+ //
+ break;
+
+ case "iAuto":
+ case "movie":
+ default:
+ //
+ break;
+ }
}
private void pushedButton6()
{
+ String takeMode = getTakeMode();
+ switch (takeMode)
+ {
+ case "P":
+ //
+ break;
+
+ case "A":
+ //
+ break;
+
+ case "S":
+ //
+ break;
+
+ case "M":
+ //
+ break;
+
+ case "ART":
+ //
+ break;
+
+ case "iAuto":
+ case "movie":
+ default:
+ //
+ break;
+ }
pushShutterButton();
}
private void pushedArea2()
{
+ String takeMode = getTakeMode();
+ switch (takeMode)
+ {
+ case "P":
+ //
+ break;
+
+ case "A":
+ //
+ break;
+
+ case "S":
+ //
+ break;
+
+ case "M":
+ //
+ break;
+
+ case "ART":
+ //
+ break;
+ case "iAuto":
+ case "movie":
+ default:
+ //
+ break;
+ }
}
private void pushedArea3()
{
+ String takeMode = getTakeMode();
+ switch (takeMode)
+ {
+ case "P":
+ //
+ break;
+
+ case "A":
+ //
+ break;
+ case "S":
+ //
+ break;
+
+ case "M":
+ //
+ break;
+
+ case "ART":
+ //
+ break;
+
+ case "iAuto":
+ case "movie":
+ default:
+ //
+ break;
+ }
+ changeAeLockMode();
}
+ /**
+ * テキスト表示エリア(設定画面を開くで固定)
+ */
private void pushedArea4()
{
-
+ showSettingsScreen();
}
/***************************************************************
*
***************************************************************/
+ private String getTakeMode()
+ {
+ IOlyCameraPropertyProvider propertyProxy = camera.getCameraPropertyProvider();
+ return (propertyProxy.getCameraPropertyValueTitle(propertyProxy.getCameraPropertyValue(IOlyCameraProperty.TAKE_MODE)));
+ }
+
+
/**
* 撮影モードの変更指示
* (P > A > S > S > ART > iAuto > ...)
propertyProxy.setCameraPropertyValue(IOlyCameraProperty.TAKE_MODE, targetMode);
camera.unlockAutoFocus();
- //
+ // 撮影モードの更新
+ camera.updateTakeMode();
}
}
/**
+ * AE-Lock/Lock解除を行う
+ *
+ */
+ private void changeAeLockMode()
+ {
+ camera.toggleAutoExposure();
+ }
+
+ /**
* グリッドフレームの表示・非表示ボタンを更新する
*
*/
statusDrawer.setButtonDrawable(buttonId, btnResId);
}
+ /**
+ * 設定画面を開く
+ *
+ */
+ private void showSettingsScreen()
+ {
+ // TBD...
+ }
}
package jp.sfjp.gokigen.a01c.olycamerawrapper;
import android.graphics.Color;
-import android.support.v4.app.INotificationSideChannel;
import android.util.Log;
-import jp.co.olympus.camerakit.OLYCamera;
import jp.sfjp.gokigen.a01c.IShowInformation;
/**
String propetyValue = propertyProxy.getCameraPropertyValueTitle(propertyProxy.getCameraPropertyValue(IOlyCameraProperty.AE_LOCK_STATE));
if ((propetyValue != null)&&(aeLockStateArea != 0))
{
- informationObject.setMessage(aeLockStateArea, Color.WHITE, propetyValue);
+ if (propetyValue.equals("LOCK"))
+ {
+ informationObject.setMessage(aeLockStateArea, Color.WHITE, "AE-L");
+ }
}
}
import android.util.Log;
import java.util.Locale;
-import java.util.Map;
-import java.util.TreeSet;
import jp.co.olympus.camerakit.OLYCamera;
import jp.co.olympus.camerakit.OLYCameraStatusListener;
default:
// 他の値が変わった場合には、ログだけ残して何もしない。
Log.v(TAG, "onUpdateStatus() : " + name);
- display.updateCameraStatus(geCameraStatusMessage(camera, name));
+ display.updateCameraStatus(getCameraStatusMessage(camera, name));
break;
}
}
// 露出警告
message = message + " " + context.getString(R.string.exposure_metering_warning);
}
+
}
catch (Exception e)
{
*
*/
@Override
- public String geCameraStatusMessage(OLYCamera camera, String name)
+ public String getCameraStatusMessage(OLYCamera camera, String name)
{
+ return (name);
+/*
String message = name;
String warn = "";
try
e.printStackTrace();
}
return (message);
+*/
}
}
public interface ICameraStatusSummary
{
- String geCameraStatusMessage(OLYCamera camera, String name);
+ String getCameraStatusMessage(OLYCamera camera, String name);
}
package jp.sfjp.gokigen.a01c.olycamerawrapper;
-import android.content.Context;
import android.view.MotionEvent;
import jp.co.olympus.camerakit.OLYCameraLiveViewListener;
void startLiveView();
void stopLiveView();
+ /** 撮影モードの更新 **/
+ void updateTakeMode();
+
/** オートフォーカス機能の実行 **/
boolean driveAutoFocus(MotionEvent event);
void unlockAutoFocus();
String BATTERY_LEVEL = "BATTERY_LEVEL";
String AE_MODE = "AE";
String AE_LOCK_STATE = "AE_LOCK_STATE";
- String ISO_SENSITIVITY = "ISO";
+ String AF_LOCK_STATE = "AF_LOCK_STATE";
+ String ISO_SENSITIVITY = "ISO";
package jp.sfjp.gokigen.a01c.olycamerawrapper;
import android.app.Activity;
-import android.graphics.Canvas;
import android.graphics.PointF;
import android.util.Log;
import android.view.MotionEvent;
}
/**
+ * 撮影モードの更新
+ *
+ */
+ @Override
+ public void updateTakeMode()
+ {
+ cameraStatusDisplay.updateTakeMode();
+ }
+
+ /**
* フォーカスロックの実行
*/
public boolean driveAutoFocus(MotionEvent event)
{
e.printStackTrace();
}
+ cameraStatusDisplay.updateTakeMode();
}
/**
@Override
public String getCameraStatusSummary(ICameraStatusSummary decoder)
{
- return (decoder.geCameraStatusMessage(camera, ""));
+ return (decoder.getCameraStatusMessage(camera, ""));
}
@Override