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); + } + } + +}