mirror of
https://github.com/lacerta-doc/Lacerta.git
synced 2024-11-26 17:53:14 +00:00
一旦保存して読み込むように
This commit is contained in:
parent
54abcb1ac9
commit
cd1f2b2261
|
@ -3,10 +3,12 @@ package one.nem.lacerta.component.scanner;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.activity.result.ActivityResultLauncher;
|
import androidx.activity.result.ActivityResultLauncher;
|
||||||
import androidx.activity.result.contract.ActivityResultContracts;
|
import androidx.activity.result.contract.ActivityResultContracts;
|
||||||
|
import androidx.core.content.FileProvider;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
@ -18,6 +20,7 @@ import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -35,15 +38,28 @@ public class ScannerDataManagerStubFragment extends Fragment {
|
||||||
|
|
||||||
// Results
|
// Results
|
||||||
private ArrayList<CapturedData> results = new ArrayList<>();
|
private ArrayList<CapturedData> results = new ArrayList<>();
|
||||||
|
|
||||||
|
private Uri photoURI;
|
||||||
|
|
||||||
private final ActivityResultLauncher<Intent> cameraLauncher = registerForActivityResult(
|
private final ActivityResultLauncher<Intent> cameraLauncher = registerForActivityResult(
|
||||||
new ActivityResultContracts.StartActivityForResult(),
|
new ActivityResultContracts.StartActivityForResult(),
|
||||||
result -> {
|
result -> {
|
||||||
if (result.getResultCode() == Activity.RESULT_OK) {
|
if (result.getResultCode() == Activity.RESULT_OK) {
|
||||||
Intent data = result.getData();
|
try {
|
||||||
Bundle extras = data.getExtras();
|
if (getActivity() == null) {
|
||||||
Bitmap imageBitmap = (Bitmap) extras.get("data");
|
Log.d("ScannerDataManagerStubFragment", "getActivity() is null");
|
||||||
// TODO-rca: エラーハンドリング
|
return;
|
||||||
results.add(new CapturedData("Placeholder", Integer.toString(imageBitmap.getHeight()), Integer.toString(imageBitmap.getWidth()), "Placeholder", imageBitmap));
|
}
|
||||||
|
if (photoURI == null) {
|
||||||
|
Log.d("ScannerDataManagerStubFragment", "photoURI is null");
|
||||||
|
Toast.makeText(getActivity(), "photoURI is null", Toast.LENGTH_LONG).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Bitmap imageBitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), photoURI);
|
||||||
|
results.add(new CapturedData("Placeholder", Integer.toString(imageBitmap.getHeight()), Integer.toString(imageBitmap.getWidth()), "Placeholder", imageBitmap));
|
||||||
|
} catch (IOException e) {
|
||||||
|
Log.e("ScannerDataManagerStubFragment", "Error occurred while reading the file", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -81,7 +97,7 @@ public class ScannerDataManagerStubFragment extends Fragment {
|
||||||
if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
|
if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
|
||||||
File photoFile = null;
|
File photoFile = null;
|
||||||
try {
|
try {
|
||||||
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());
|
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date());
|
||||||
String imageFileName = "JPEG_" + timeStamp + "_";
|
String imageFileName = "JPEG_" + timeStamp + "_";
|
||||||
File storageDir = getActivity().getExternalFilesDir(Environment.DIRECTORY_PICTURES);
|
File storageDir = getActivity().getExternalFilesDir(Environment.DIRECTORY_PICTURES);
|
||||||
photoFile = File.createTempFile(imageFileName, ".jpg", storageDir);
|
photoFile = File.createTempFile(imageFileName, ".jpg", storageDir);
|
||||||
|
@ -89,7 +105,8 @@ public class ScannerDataManagerStubFragment extends Fragment {
|
||||||
Log.e("ScannerDataManagerStubFragment", "Error occurred while creating the file", ex);
|
Log.e("ScannerDataManagerStubFragment", "Error occurred while creating the file", ex);
|
||||||
}
|
}
|
||||||
if (photoFile != null) {
|
if (photoFile != null) {
|
||||||
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoFile);
|
photoURI = FileProvider.getUriForFile(getActivity(), "one.nem.lacerta.provider", photoFile);
|
||||||
|
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
|
||||||
cameraLauncher.launch(takePictureIntent);
|
cameraLauncher.launch(takePictureIntent);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user