X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fosdn%2Fgokigen%2Fcameratest%2Fcamtest%2FCamTest.java;fp=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fosdn%2Fgokigen%2Fcameratest%2Fcamtest%2FCamTest.java;h=50b1fbf2a5a6c424ac61e96240d8f774e4fdc83e;hb=437899f5ffff1a0d009330a1bf9bb238a82ce898;hp=4f94ff9f78b75d8246f39f9cb1cb9537fc422048;hpb=d70fdab3eca3a702cf1c12c216b761730415959a;p=gokigen%2FFujiCam.git diff --git a/app/src/main/java/net/osdn/gokigen/cameratest/camtest/CamTest.java b/app/src/main/java/net/osdn/gokigen/cameratest/camtest/CamTest.java index 4f94ff9..50b1fbf 100644 --- a/app/src/main/java/net/osdn/gokigen/cameratest/camtest/CamTest.java +++ b/app/src/main/java/net/osdn/gokigen/cameratest/camtest/CamTest.java @@ -3,8 +3,10 @@ package net.osdn.gokigen.cameratest.camtest; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.graphics.PointF; import android.os.Environment; import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; import android.widget.TextView; @@ -22,7 +24,7 @@ import java.io.File; import java.io.FileInputStream; -public class CamTest implements View.OnClickListener, ILiveViewImage +public class CamTest implements View.OnClickListener, View.OnTouchListener, ILiveViewImage { private String TAG = toString(); private final Activity activity; @@ -151,8 +153,7 @@ public class CamTest implements View.OnClickListener, ILiveViewImage doShutter(); break; case R.id.button2: - //readImageFile("sampledata1.bin"); - //showMessageText("show 'sampledata1.bin'."); + unlockFocus(); break; case R.id.button3: //readImageFile("sampledata2.bin"); @@ -193,6 +194,56 @@ public class CamTest implements View.OnClickListener, ILiveViewImage } } + private void driveAutoFocus(final PointF point) + { + if (point == null) + { + return; + } + try + { + Snackbar.make(activity.findViewById(R.id.constraintLayout), R.string.drive_af, Snackbar.LENGTH_SHORT).show(); + showMessageText("AF : " + point.x + "," + point.y); + Thread thread = new Thread(new Runnable() { + @Override + public void run() { + boolean ret = connection.execute_focus_point(point); + if (!ret) + { + showMessageText("Auto Focus FAILURE..."); + } + } + }); + thread.start(); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + private void unlockFocus() + { + try + { + Snackbar.make(activity.findViewById(R.id.constraintLayout), R.string.unlock_focus, Snackbar.LENGTH_SHORT).show(); + Thread thread = new Thread(new Runnable() { + @Override + public void run() { + boolean ret = connection.execute_unlock_focus(); + if (!ret) + { + showMessageText("Unlock Focus FAILURE..."); + } + } + }); + thread.start(); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + @Override public void updateImage(ReceivedDataHolder receivedData) { @@ -382,4 +433,42 @@ public class CamTest implements View.OnClickListener, ILiveViewImage } return (null); } + + @Override + public boolean onTouch(View v, MotionEvent event) + { + try + { + int id = v.getId(); + Log.v(TAG, "onTouch() : " + id); + if (event.getAction() == MotionEvent.ACTION_DOWN) + { + driveAutoFocus(getPointWithEvent(event)); + return (true); + } + } + catch (Exception e) + { + e.printStackTrace(); + } + return (false); + } + + private PointF getPointWithEvent(MotionEvent event) + { + if (event == null) + { + return (null); + } + try + { + ImageView imageView = activity.findViewById(R.id.imageView); + return (new PointF(((event.getX() / (float) imageView.getWidth()) * 100.0f), ((event.getY() / (float) imageView.getHeight()) * 100.0f))); + } + catch (Exception e) + { + e.printStackTrace(); + } + return (null); + } }