Skip to content

Commit 8e0cf7d

Browse files
committed
Changed location of saved photo
1 parent 3350ec6 commit 8e0cf7d

1 file changed

Lines changed: 24 additions & 13 deletions

File tree

app/src/main/java/com/example/chaiss/CameraActivity.java

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,16 @@
2323
import androidx.camera.view.PreviewView;
2424

2525
import com.google.common.util.concurrent.ListenableFuture;
26+
import android.content.ContentValues;
27+
import android.os.Environment;
28+
import android.provider.MediaStore;
29+
import android.widget.Toast;
30+
import androidx.camera.core.ImageCapture;
31+
import androidx.camera.core.ImageCaptureException;
32+
import androidx.core.content.ContextCompat;
2633

34+
import java.text.SimpleDateFormat;
35+
import java.util.Locale;
2736
import java.io.File;
2837
import java.text.SimpleDateFormat;
2938
import java.util.Locale;
@@ -100,35 +109,37 @@ private void startCamera() {
100109
}
101110
}, ContextCompat.getMainExecutor(this));
102111
}
103-
104112
private void takePhoto() {
105113
if (imageCapture == null) {
106114
Toast.makeText(this, "Camera not initialized", Toast.LENGTH_SHORT).show();
107115
return;
108116
}
109117

118+
String filename = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US)
119+
.format(System.currentTimeMillis()) + ".jpg";
110120

111-
File storageDir = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "ChAIss");
112-
if (!storageDir.exists()) {
113-
storageDir.mkdirs();
114-
}
115-
116-
File photoFile = new File(storageDir,
117-
new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(System.currentTimeMillis()) + ".jpg");
121+
ContentValues contentValues = new ContentValues();
122+
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, filename);
123+
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg");
124+
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_PICTURES + "/ChAIss");
118125

119-
ImageCapture.OutputFileOptions outputFileOptions =
120-
new ImageCapture.OutputFileOptions.Builder(photoFile).build();
126+
ImageCapture.OutputFileOptions outputFileOptions = new ImageCapture.OutputFileOptions
127+
.Builder(getContentResolver(),
128+
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
129+
contentValues)
130+
.build();
121131

122-
imageCapture.takePicture(outputFileOptions, ContextCompat.getMainExecutor(this),
132+
imageCapture.takePicture(outputFileOptions,
133+
ContextCompat.getMainExecutor(this),
123134
new ImageCapture.OnImageSavedCallback() {
124135
@Override
125136
public void onImageSaved(@NonNull ImageCapture.OutputFileResults outputFileResults) {
126-
Toast.makeText(CameraActivity.this, "Photo saved: " + photoFile.getAbsolutePath(), Toast.LENGTH_SHORT).show();
137+
Toast.makeText(CameraActivity.this, "Photo saved to gallery!", Toast.LENGTH_SHORT).show();
127138
}
128139

129140
@Override
130141
public void onError(@NonNull ImageCaptureException exception) {
131-
Toast.makeText(CameraActivity.this, "Failed to capture photo.", Toast.LENGTH_SHORT).show();
142+
Toast.makeText(CameraActivity.this, "Failed to save photo.", Toast.LENGTH_SHORT).show();
132143
}
133144
});
134145
}

0 commit comments

Comments
 (0)