Skip to content

Commit

Permalink
reenabled logging as hacky workaround for problems on A6000
Browse files Browse the repository at this point in the history
added focus near/far icons
obs committed May 12, 2016
1 parent ca45358 commit f7fcb36
Showing 4 changed files with 60 additions and 23 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -8,8 +8,8 @@ android {
applicationId "com.obsidium.focusbracket"
minSdkVersion 10
targetSdkVersion 10
versionCode 2
versionName "1.1"
versionCode 3
versionName "1.2"
}
buildTypes {
release {
36 changes: 24 additions & 12 deletions app/src/main/java/com/obsidium/focusbracket/FocusActivity.java
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.github.ma1co.pmcademo.app.BaseActivity;
@@ -25,7 +27,8 @@ public class FocusActivity extends BaseActivity implements SurfaceHolder.Callbac

private Handler m_handler = new Handler();

private FocusScaleView m_focusScaleView;
private FocusScaleView m_focusScaleView;
private LinearLayout m_lFocusScale;
private TextView m_tvMsg;
private TextView m_tvInstructions;

@@ -44,7 +47,7 @@ enum State { error, setMin, setMax, setNumPics, shoot }
private boolean m_waitingForFocus;

private int m_countdown;
private Runnable m_countDownRunnable = new Runnable()
private final Runnable m_countDownRunnable = new Runnable()
{
@Override
public void run()
@@ -62,7 +65,7 @@ public void run()
}
};

private Runnable m_checkFocusRunnable = new Runnable()
private final Runnable m_checkFocusRunnable = new Runnable()
{
@Override
public void run()
@@ -72,6 +75,10 @@ public void run()
}
};

// Built-in images
private static final int p_16_dd_parts_rec_focuscontrol_near = 0x01080ddd;
private static final int p_16_dd_parts_rec_focuscontrol_far = 0x010807f9;

@Override
protected void onCreate(Bundle savedInstanceState)
{
@@ -84,26 +91,32 @@ protected void onCreate(Bundle savedInstanceState)

m_focusScaleView = (FocusScaleView)findViewById(R.id.vFocusScale);

m_lFocusScale = (LinearLayout)findViewById(R.id.lFocusScale);

m_tvMsg = (TextView)findViewById(R.id.tvMsg);
m_tvInstructions = (TextView)findViewById(R.id.tvInstructions);
}

@Override
protected void onResume()
{
//Logger.info("onResume");
super.onResume();
m_camera = CameraEx.open(0, null);
m_surfaceHolder.addCallback(this);

//noinspection ResourceType
((ImageView)findViewById(R.id.ivRight)).setImageResource(p_16_dd_parts_rec_focuscontrol_far);
//noinspection ResourceType
((ImageView)findViewById(R.id.ivLeft)).setImageResource(p_16_dd_parts_rec_focuscontrol_near);

m_camera.setShutterListener(this);

m_camera.setFocusDriveListener(new CameraEx.FocusDriveListener()
{
@Override
public void onChanged(CameraEx.FocusPosition focusPosition, CameraEx cameraEx)
{
//Logger.info("FocusDriveListener: currentPosition " + focusPosition.currentPosition);
Logger.info("FocusDriveListener: currentPosition " + focusPosition.currentPosition);
m_focusScaleView.setMaxPosition(focusPosition.maxPosition);
m_focusScaleView.setCurPosition(focusPosition.currentPosition);
m_curFocus = focusPosition.currentPosition;
@@ -112,7 +125,7 @@ public void onChanged(CameraEx.FocusPosition focusPosition, CameraEx cameraEx)
if (m_curFocus == m_focusQueue.getFirst())
{
// Focused, take picture
//Logger.info("Taking picture (FocusDriveListener)");
Logger.info("Taking picture (FocusDriveListener)");
takePicture();
}
else
@@ -130,7 +143,7 @@ public void onChanged(CameraEx.FocusPosition focusPosition, CameraEx cameraEx)
public void onShutter(int i, CameraEx cameraEx)
{
// i: 0 = success, 1 = canceled, 2 = error
//Logger.info("onShutter (i " + i + ")");
Logger.info("onShutter (i " + i + ")");
m_camera.cancelTakePicture();
if (i == 0)
{
@@ -165,7 +178,7 @@ private void focus()
m_focusBeforeDrive = m_curFocus;
if (m_curFocus == nextFocus)
{
//Logger.info("Taking picture (focus)");
Logger.info("Taking picture (focus)");
takePicture();
}
else
@@ -180,7 +193,7 @@ else if (absDiff > 15)
speed = 2;
else
speed = 1;
//Logger.info("Starting focus drive (speed " + speed + ")");
Logger.info("Starting focus drive (speed " + speed + ")");
m_camera.startOneShotFocusDrive(m_curFocus < nextFocus ? CameraEx.FOCUS_DRIVE_DIRECTION_FAR : CameraEx.FOCUS_DRIVE_DIRECTION_NEAR, speed);
// startOneShotFocusDrive won't always trigger our FocusDriveListener
m_handler.postDelayed(m_checkFocusRunnable, 50);
@@ -243,7 +256,7 @@ private void initControlsFromState()
{
case setMin:
m_tvMsg.setVisibility(View.GONE);
m_focusScaleView.setVisibility(View.VISIBLE);
m_lFocusScale.setVisibility(View.VISIBLE);
m_focusScaleView.setMinPosition(0);
m_tvInstructions.setVisibility(View.VISIBLE);
m_tvInstructions.setText("Set minimum focus distance, \uE04C to confirm");
@@ -254,7 +267,7 @@ private void initControlsFromState()
case setNumPics:
m_tvInstructions.setText("Use dial to select number of pictures, \uE04C to confirm");
m_tvMsg.setVisibility(View.VISIBLE);
m_focusScaleView.setVisibility(View.GONE);
m_lFocusScale.setVisibility(View.GONE);
break;
case shoot:
m_tvMsg.setVisibility(View.VISIBLE);
@@ -389,7 +402,6 @@ protected boolean onMenuKeyUp()
@Override
protected void onPause()
{
//Logger.info("onPause");
super.onPause();

abortShooting();
2 changes: 1 addition & 1 deletion app/src/main/java/com/obsidium/focusbracket/Logger.java
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@
public class Logger
{
public static File getFile() {
return new File(Environment.getExternalStorageDirectory(), "FOCUS.TXT");
return new File(Environment.getExternalStorageDirectory(), "FOCUSBRK/LOG.TXT");
}

protected static void log(String msg) {
41 changes: 33 additions & 8 deletions app/src/main/res/layout/activity_focus.xml
Original file line number Diff line number Diff line change
@@ -39,15 +39,40 @@
android:gravity="center_horizontal"
android:paddingBottom="4dp"/>

<com.obsidium.focusbracket.FocusScaleView
android:layout_width="fill_parent"
android:layout_height="20dp"
android:id="@+id/vFocusScale"
android:layout_centerHorizontal="true"
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="32dp"
android:layout_marginRight="32dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:layout_alignParentBottom="true"
tools:background="#32722f"/>
android:layout_centerHorizontal="true"
android:id="@+id/lFocusScale">

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ivLeft"
android:layout_marginRight="4dp"
/>

<com.obsidium.focusbracket.FocusScaleView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:id="@+id/vFocusScale"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
tools:background="#32722f"
android:layout_weight="1"/>

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ivRight"
android:layout_marginLeft="4dp"
/>

</LinearLayout>

</RelativeLayout>

0 comments on commit f7fcb36

Please sign in to comment.