diff --git a/app/src/main/java/com/simplemobiletools/camera/MainActivity.java b/app/src/main/java/com/simplemobiletools/camera/MainActivity.java index 1918d8b2..d31882b0 100644 --- a/app/src/main/java/com/simplemobiletools/camera/MainActivity.java +++ b/app/src/main/java/com/simplemobiletools/camera/MainActivity.java @@ -3,8 +3,8 @@ package com.simplemobiletools.camera; import android.hardware.Camera; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; -import android.util.Log; import android.view.SurfaceView; +import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; @@ -16,9 +16,10 @@ import butterknife.OnClick; public class MainActivity extends AppCompatActivity { @Bind(R.id.viewHolder) RelativeLayout viewHolder; + @Bind(R.id.toggle_camera) View toggleCameraBtn; - private static final String TAG = Preview.class.getSimpleName(); private Preview preview; + private int currCamera; @Override protected void onCreate(Bundle savedInstanceState) { @@ -28,12 +29,17 @@ public class MainActivity extends AppCompatActivity { setContentView(R.layout.activity_main); ButterKnife.bind(this); - + currCamera = Camera.CameraInfo.CAMERA_FACING_BACK; preview = new Preview(this, (SurfaceView) findViewById(R.id.surfaceView)); preview.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); viewHolder.addView(preview); } + @OnClick(R.id.toggle_camera) + public void toggleCamera() { + + } + @OnClick(R.id.shutter) public void takePicture() { preview.takePicture(); @@ -43,12 +49,12 @@ public class MainActivity extends AppCompatActivity { protected void onResume() { super.onResume(); - try { - Camera camera = Camera.open(0); - preview.setCamera(camera); - } catch (Exception e) { - Log.e(TAG, "onResume IOException " + e.getMessage()); + final int cnt = Camera.getNumberOfCameras(); + if (cnt == 1) { + toggleCameraBtn.setVisibility(View.INVISIBLE); } + Camera camera = Camera.open(currCamera); + preview.setCamera(camera); } @Override diff --git a/app/src/main/java/com/simplemobiletools/camera/Preview.java b/app/src/main/java/com/simplemobiletools/camera/Preview.java index 452baa8e..d3bced05 100644 --- a/app/src/main/java/com/simplemobiletools/camera/Preview.java +++ b/app/src/main/java/com/simplemobiletools/camera/Preview.java @@ -39,7 +39,7 @@ public class Preview extends ViewGroup implements SurfaceHolder.Callback, View.O surfaceHolder.addCallback(this); surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); canTakePicture = true; - setOnTouchListener(this); + surfaceView.setOnTouchListener(this); } public void setCamera(Camera newCamera) { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8c232969..af24ef7e 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -10,13 +10,35 @@ android:layout_width="wrap_content" android:layout_height="wrap_content"/> - + android:gravity="center_horizontal"> + + + + + + +