mirror of
				https://github.com/lacerta-doc/Lacerta.git
				synced 2025-11-04 00:40:49 +00:00 
			
		
		
		
	一旦保存して読み込むように
This commit is contained in:
		
							parent
							
								
									3518464716
								
							
						
					
					
						commit
						83d2d0af02
					
				@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user