control commit

This commit is contained in:
Captain Arepa 2024-05-17 11:34:41 -04:00
parent fed45c298b
commit d808950dab
3 changed files with 8 additions and 98 deletions

View file

@ -8,8 +8,6 @@ import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.camera.core.ImageCapture;
import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
@ -18,18 +16,9 @@ import androidx.core.view.WindowInsetsCompat;
import com.example.cameraxtestappjava.camera.CustomCamera;
import com.example.cameraxtestappjava.camera.CustomCameraCallback;
import com.example.cameraxtestappjava.databinding.ActivityMainBinding;
import com.google.common.util.concurrent.ListenableFuture;
public class MainActivity extends AppCompatActivity {
ProcessCameraProvider cameraProvider;
ImageCapture imageCapture;
ImageCapture.OutputFileOptions outputFileOptions;
ListenableFuture<ProcessCameraProvider> cameraProviderFuture;
ContentValues contentValues;
String fileName;
Uri tempFileUri;
CustomCamera customCamera;
ActivityMainBinding binding;
@ -68,78 +57,4 @@ public class MainActivity extends AppCompatActivity {
}
});
}
/*private void setListeners() {
binding.btnTakePicture.setOnClickListener(v -> capturePhoto());
}
private void capturePhoto() {
if (imageCapture == null) return;
fileName = System.currentTimeMillis() + "";
outputFileOptions = getOutputFileOptions(fileName);
imageCapture.takePicture(outputFileOptions, ContextCompat.getMainExecutor(this), new ImageCapture.OnImageSavedCallback() {
@Override
public void onImageSaved(@NonNull ImageCapture.OutputFileResults outputFileResults) {
tempFileUri = outputFileResults.getSavedUri();
Toast.makeText(MainActivity.this, "Image saved! " + tempFileUri, Toast.LENGTH_LONG).show();
}
@Override
public void onError(@NonNull ImageCaptureException exception) {
Toast.makeText(MainActivity.this, "Image Not Saved " + exception.getMessage(), Toast.LENGTH_LONG).show();
}
});
}
@NonNull
private ImageCapture.OutputFileOptions getOutputFileOptions(String name) {
contentValues = new ContentValues();
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, name);
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg");
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {
contentValues.put(MediaStore.Images.Media.RELATIVE_PATH, "Pictures/CameraXTestApp");
}
return new ImageCapture.OutputFileOptions.Builder(
getContentResolver(), MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues
).build();
}
private void setUpCamera() {
cameraProviderFuture = ProcessCameraProvider.getInstance(this);
cameraProviderFuture.addListener(() -> {
try {
cameraProvider = cameraProviderFuture.get();
startSegPassCamera(cameraProvider);
} catch (ExecutionException | InterruptedException e) {
throw new RuntimeException(e);
}
}, ContextCompat.getMainExecutor(this)); // por parametro
}
private void startSegPassCamera(ProcessCameraProvider cameraProvider) {
Log.d("TAGTAG", "UEEEP");
CameraSelector cameraSelector = CameraSelector.DEFAULT_FRONT_CAMERA;
Preview preview = new Preview.Builder().build();
preview.setSurfaceProvider(binding.pvViewfinder.getSurfaceProvider());
imageCapture = new ImageCapture.Builder().build();
try {
cameraProvider.unbindAll();
cameraProvider.bindToLifecycle(this, cameraSelector, preview, imageCapture);
} catch (Exception e) {
e.printStackTrace();
}
}*/
}

View file

@ -88,7 +88,6 @@ public class CustomCamera extends FrameLayout implements TextureView.SurfaceText
if (mImageCapture == null) return;
String mFileName = System.currentTimeMillis() + "";
ImageCapture.OutputFileOptions mIutputFileOptions = getOutputFileOptions(mFileName);
try {
@ -97,13 +96,11 @@ public class CustomCamera extends FrameLayout implements TextureView.SurfaceText
public void onImageSaved(@NonNull ImageCapture.OutputFileResults outputFileResults) {
mTempFileUri = outputFileResults.getSavedUri();
callback.onPictureTakenSuccess("Image saved! " + mTempFileUri);
//Toast.makeText(mContext, "Image saved! " + tempFileUri, Toast.LENGTH_LONG).show();
}
@Override
public void onError(@NonNull ImageCaptureException exception) {
callback.onPictureTakenFailError(exception.getMessage());
//Toast.makeText(mContext, "Image Not Saved " + exception.getMessage(), Toast.LENGTH_LONG).show();
}
});
} catch (Exception e) {
@ -133,7 +130,7 @@ public class CustomCamera extends FrameLayout implements TextureView.SurfaceText
mCameraProviderFuture.addListener(() -> {
try {
mCameraProvider = mCameraProviderFuture.get();
startCustomCamera(mCameraProvider);
startCustomCamera();
} catch (ExecutionException | InterruptedException e) {
throw new RuntimeException(e);
}
@ -141,8 +138,8 @@ public class CustomCamera extends FrameLayout implements TextureView.SurfaceText
}, mExecutor); // por parametro
}
private void startCustomCamera(ProcessCameraProvider cameraProvider) {
Log.d("TAGTAG", "UEEEP");
private void startCustomCamera() {
Log.d("TAGTAG", "Start custom camera");
CameraSelector cameraSelector = CameraSelector.DEFAULT_FRONT_CAMERA;
Preview preview = new Preview.Builder().build();
@ -151,12 +148,10 @@ public class CustomCamera extends FrameLayout implements TextureView.SurfaceText
mImageCapture = new ImageCapture.Builder().build();
try {
cameraProvider.unbindAll();
cameraProvider.bindToLifecycle(mLifecycleOwner, cameraSelector, preview, mImageCapture);
mCameraProvider.unbindAll();
mCameraProvider.bindToLifecycle(mLifecycleOwner, cameraSelector, preview, mImageCapture);
} catch (Exception e) {
e.printStackTrace();
Log.e("TAGTAG", "Couldn't start camera");
}
}
@ -164,7 +159,7 @@ public class CustomCamera extends FrameLayout implements TextureView.SurfaceText
@Override
public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) {
startCustomCamera(mCameraProvider);
startCustomCamera();
}
@Override

View file

@ -8,7 +8,7 @@
tools:context=".MainActivity">
<com.example.cameraxtestappjava.camera.CustomCamera
android:id="@+id/scSegpassCameraView"
android:id="@+id/ccCustomCamera"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintTop_toTopOf="parent"