From c8b20ca1087972d2ea812fed6ef9842c64c354fd Mon Sep 17 00:00:00 2001 From: Igor I Date: Mon, 12 Aug 2024 19:29:01 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=BE=D1=82=D0=BE=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/tools/OnClickListenerImage.java | 57 +++++++++++++++++++ .../java/tools/OnClickListenerImageShow.java | 42 ++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 app/src/main/java/tools/OnClickListenerImage.java create mode 100644 app/src/main/java/tools/OnClickListenerImageShow.java diff --git a/app/src/main/java/tools/OnClickListenerImage.java b/app/src/main/java/tools/OnClickListenerImage.java new file mode 100644 index 0000000..17b4d2d --- /dev/null +++ b/app/src/main/java/tools/OnClickListenerImage.java @@ -0,0 +1,57 @@ +package tools; + +import android.app.Activity; +import android.content.Context; +import android.content.SharedPreferences; +import android.content.Intent; +import android.net.Uri; +import android.os.Build; +import android.os.Environment; +import android.provider.MediaStore; +import android.view.View; + +import androidx.core.content.FileProvider; + +import java.io.File; + +import kz.istt.locust.BuildConfig; +import kz.istt.locust.LocustHealthActivity; + +public class OnClickListenerImage implements View.OnClickListener { + + public int requestCode; + public Context context; + + public OnClickListenerImage(Context context, int requestCode){ + this.context=context; + this.requestCode=requestCode; + } + + @Override + public void onClick(View view) { + // Создаём папку если её нет + File directory = new File(Environment.getExternalStorageDirectory() + File.separator + "Pictures" + File.separator + "Locust"); + directory.mkdirs(); + + String tmp_ImageName = "locust_" + (System.currentTimeMillis() / 1000L) + ".jpg"; + + // Сохраняем имя файла в SharedPreferences + SharedPreferences preferences = context.getSharedPreferences("CommonPrefs", Context.MODE_PRIVATE); + SharedPreferences.Editor editor = preferences.edit(); + editor.putString("IMAGE_NAME", tmp_ImageName); + editor.apply(); + + File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Locust/" + tmp_ImageName); + + Uri mImageUri; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + mImageUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider",file); + else + mImageUri = Uri.fromFile(file); + + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri); + intent.putExtra(MediaStore.EXTRA_MEDIA_TITLE, tmp_ImageName); + ((Activity) context).startActivityForResult(intent, requestCode); + } +} diff --git a/app/src/main/java/tools/OnClickListenerImageShow.java b/app/src/main/java/tools/OnClickListenerImageShow.java new file mode 100644 index 0000000..0b915bb --- /dev/null +++ b/app/src/main/java/tools/OnClickListenerImageShow.java @@ -0,0 +1,42 @@ +package tools; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.net.Uri; +import android.os.Environment; +import android.view.View; +import android.widget.EditText; + +import androidx.core.content.FileProvider; + +import java.io.File; + +import kz.istt.locust.BuildConfig; + +public class OnClickListenerImageShow implements View.OnClickListener{ + + public EditText imageName; + public Context context; + + public OnClickListenerImageShow(Context context, EditText imageName){ + this.context=context; + this.imageName=imageName; + } + + @Override + public void onClick(View v) + { + File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Locust/" + imageName.getText().toString()); + if(!file.isFile()) file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Locust/_" + imageName.getText().toString()); + if (file.isFile()) { + Uri uri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider", file); + Intent i = new Intent(); + i.setAction(Intent.ACTION_VIEW); + i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + i.setDataAndType(uri, "image/jpg"); + ((Activity) context).startActivity(i); + } + } + +}