mirror of
https://gitee.com/shuto/customCamera.git
synced 2026-04-14 00:00:03 +08:00
Modification permettant de gérer mieux les différents états de l'applications (pause, start, restart, etc).
Ajout de message de log plus fin.
This commit is contained in:
@@ -63,6 +63,32 @@ public class CameraActivity extends Activity {
|
||||
String imgBackgroundBase64 = currentBundle.getString("imgBackgroundBase64");
|
||||
}
|
||||
|
||||
// The opacity bar
|
||||
SeekBar switchOpacity = (SeekBar) findViewById(R.id.switchOpacity);
|
||||
|
||||
// Event on change opacity.
|
||||
switchOpacity.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
|
||||
int progress = 0;
|
||||
|
||||
@Override
|
||||
public void onProgressChanged(SeekBar seekBar, int progresValue, boolean fromUser) {
|
||||
progress = progresValue;
|
||||
ImageView imageView = (ImageView) findViewById(R.id.normal);
|
||||
float newOpacity = (float) (0.2+progress*0.1);
|
||||
imageView.setAlpha(newOpacity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartTrackingTouch(SeekBar seekBar) {}
|
||||
|
||||
@Override
|
||||
public void onStopTrackingTouch(SeekBar seekBar) {}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
// Get informations about the default display for the device
|
||||
Display defaultDisplay = getWindowManager().getDefaultDisplay();
|
||||
|
||||
@@ -101,30 +127,18 @@ public class CameraActivity extends Activity {
|
||||
CameraPreview mPreview = new CameraPreview(this, mCamera);
|
||||
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
|
||||
preview.addView(mPreview);
|
||||
|
||||
// The opacity bar
|
||||
SeekBar switchOpacity = (SeekBar) findViewById(R.id.switchOpacity);
|
||||
|
||||
// Event on change opacity.
|
||||
switchOpacity.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
|
||||
int progress = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProgressChanged(SeekBar seekBar, int progresValue, boolean fromUser) {
|
||||
progress = progresValue;
|
||||
ImageView imageView = (ImageView) findViewById(R.id.normal);
|
||||
float newOpacity = (float) (0.2+progress*0.1);
|
||||
imageView.setAlpha(newOpacity);
|
||||
}
|
||||
/**
|
||||
* Method to pause the activity.
|
||||
*/
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
ManagerCamera.clearCameraAccess();
|
||||
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
|
||||
preview.removeAllViews();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartTrackingTouch(SeekBar seekBar) {}
|
||||
|
||||
@Override
|
||||
public void onStopTrackingTouch(SeekBar seekBar) {}
|
||||
});
|
||||
}
|
||||
|
||||
// Event on touch screen to call the manager of the zoom & the auto focus.
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent event) {
|
||||
@@ -248,21 +262,6 @@ public class CameraActivity extends Activity {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to destroy the view (here, the activity).
|
||||
*/
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
ManagerCamera.clearCameraAccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to apply the new view after rotation.
|
||||
*/
|
||||
protected void onResume(){
|
||||
super.onResume();
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to get the device default orientation.
|
||||
|
||||
@@ -22,6 +22,7 @@ public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback
|
||||
*/
|
||||
public CameraPreview(Context context, Camera camera) {
|
||||
super(context);
|
||||
|
||||
// assign camera
|
||||
mCamera = camera;
|
||||
mHolder = getHolder();
|
||||
@@ -31,7 +32,7 @@ public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback
|
||||
|
||||
/**
|
||||
* When the view is created.
|
||||
* @param SurfaceHolder holder
|
||||
* @override.
|
||||
*/
|
||||
public void surfaceCreated(SurfaceHolder holder) {
|
||||
try {
|
||||
@@ -41,9 +42,7 @@ public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback
|
||||
// Start link between the view and the camera.
|
||||
mCamera.startPreview();
|
||||
} catch (IOException e) {
|
||||
mCamera.release();
|
||||
mCamera = null;
|
||||
Log.e("customCamera", "Error setting camera preview: " + e.getMessage());
|
||||
Log.e("customCamera", "Error setting camera preview to create surface: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,14 +60,16 @@ public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback
|
||||
// stop current instance.
|
||||
mCamera.setPreviewCallback(null);
|
||||
mCamera.stopPreview();
|
||||
} catch (Exception e) {}
|
||||
} catch (Exception e) {
|
||||
Log.e("customCamera", "Error setting camera preview at null: " + e.getMessage());
|
||||
}
|
||||
|
||||
try {
|
||||
// Start new link between the view and the camera.
|
||||
mCamera.setPreviewDisplay(mHolder);
|
||||
mCamera.startPreview();
|
||||
} catch (Exception e) {
|
||||
Log.d("error", "Error starting camera preview: " + e.getMessage());
|
||||
Log.e("error", "Error starting camera preview with mHolder: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,19 +19,18 @@ public class ManagerCamera {
|
||||
* A safe way to get an instance of the Camera object.
|
||||
* @return Camera | null
|
||||
*/
|
||||
public static Camera getCameraInstance(){
|
||||
public static Camera getCameraInstance() {
|
||||
// If camera is already instanced and available, return this resource.
|
||||
if (ManagerCamera.mCamera != null) {
|
||||
return mCamera;
|
||||
return ManagerCamera.mCamera;
|
||||
}
|
||||
|
||||
// Start back camera.
|
||||
Camera c = null;
|
||||
try {
|
||||
c = Camera.open(0);
|
||||
}
|
||||
catch (RuntimeException e) {
|
||||
Log.d("customCamera", "Can't open the camera.");
|
||||
} catch (RuntimeException e) {
|
||||
Log.e("customCamera", "Can't open the camera back.");
|
||||
}
|
||||
|
||||
ManagerCamera.mCamera = c;
|
||||
|
||||
Reference in New Issue
Block a user