|
@ -12,17 +12,21 @@ import android.os.Bundle; |
|
|
import android.provider.MediaStore; |
|
|
import android.provider.MediaStore; |
|
|
import android.provider.Settings; |
|
|
import android.provider.Settings; |
|
|
import android.util.DisplayMetrics; |
|
|
import android.util.DisplayMetrics; |
|
|
|
|
|
import android.view.LayoutInflater; |
|
|
import android.view.View; |
|
|
import android.view.View; |
|
|
import android.view.WindowManager; |
|
|
import android.view.WindowManager; |
|
|
import android.widget.Button; |
|
|
import android.widget.Button; |
|
|
import android.widget.ImageView; |
|
|
import android.widget.ImageView; |
|
|
import android.widget.LinearLayout; |
|
|
import android.widget.LinearLayout; |
|
|
import android.widget.ProgressBar; |
|
|
import android.widget.ProgressBar; |
|
|
|
|
|
import android.widget.TextView; |
|
|
|
|
|
|
|
|
|
|
|
import androidx.appcompat.app.AlertDialog; |
|
|
import androidx.core.app.ActivityCompat; |
|
|
import androidx.core.app.ActivityCompat; |
|
|
import androidx.core.content.FileProvider; |
|
|
import androidx.core.content.FileProvider; |
|
|
import androidx.lifecycle.ViewModelProvider; |
|
|
import androidx.lifecycle.ViewModelProvider; |
|
|
|
|
|
|
|
|
|
|
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder; |
|
|
import com.google.android.material.snackbar.Snackbar; |
|
|
import com.google.android.material.snackbar.Snackbar; |
|
|
import com.jakewharton.rxbinding3.widget.RxTextView; |
|
|
import com.jakewharton.rxbinding3.widget.RxTextView; |
|
|
import com.remit.jmecustomer.BuildConfig; |
|
|
import com.remit.jmecustomer.BuildConfig; |
|
@ -206,7 +210,7 @@ public class DepositSlipActivity extends BaseActivity implements DepositSlipPres |
|
|
WindowManager windowManager = (WindowManager) getContext() |
|
|
WindowManager windowManager = (WindowManager) getContext() |
|
|
.getSystemService(Context.WINDOW_SERVICE); |
|
|
.getSystemService(Context.WINDOW_SERVICE); |
|
|
windowManager.getDefaultDisplay().getMetrics(displayMetrics); |
|
|
windowManager.getDefaultDisplay().getMetrics(displayMetrics); |
|
|
int screenHeight = (displayMetrics.heightPixels) * 35/ 100; |
|
|
|
|
|
|
|
|
int screenHeight = (displayMetrics.heightPixels) * 35 / 100; |
|
|
Utility.showImageDialog(this, getResources().getString(R.string.sample_text), R.drawable.sample_deposit_slip, screenHeight); |
|
|
Utility.showImageDialog(this, getResources().getString(R.string.sample_text), R.drawable.sample_deposit_slip, screenHeight); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -226,19 +230,51 @@ public class DepositSlipActivity extends BaseActivity implements DepositSlipPres |
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { |
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { |
|
|
int cameraPermission = ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA); |
|
|
int cameraPermission = ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA); |
|
|
if (Settings.System.canWrite(this) && cameraPermission == PackageManager.PERMISSION_GRANTED) { |
|
|
if (Settings.System.canWrite(this) && cameraPermission == PackageManager.PERMISSION_GRANTED) { |
|
|
// cameraorGalleryChooser(cameraReqCode, galleryReqCode); |
|
|
|
|
|
takeAPicture(cameraReqCode, 0); |
|
|
|
|
|
|
|
|
cameraorGalleryChooser(cameraReqCode, galleryReqCode); |
|
|
|
|
|
//takeAPicture(cameraReqCode, 0); |
|
|
} else { |
|
|
} else { |
|
|
/* requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, |
|
|
|
|
|
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.CAMERA}, permissonReqCode);*/ |
|
|
|
|
|
|
|
|
//requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, |
|
|
|
|
|
//Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.CAMERA}, permissonReqCode); |
|
|
requestPermissions(new String[]{Manifest.permission.CAMERA}, permissonReqCode); |
|
|
requestPermissions(new String[]{Manifest.permission.CAMERA}, permissonReqCode); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
takeAPicture(cameraReqCode, 0); |
|
|
|
|
|
// cameraorGalleryChooser(cameraReqCode, galleryReqCode); |
|
|
|
|
|
|
|
|
//takeAPicture(cameraReqCode, 0); |
|
|
|
|
|
cameraorGalleryChooser(cameraReqCode, galleryReqCode); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void cameraorGalleryChooser(final int requestCodeCamera, final int requestCodeGallery) { |
|
|
|
|
|
View view = LayoutInflater.from(getContext()).inflate(R.layout.layout_alert_camera_gallery, null); |
|
|
|
|
|
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this); |
|
|
|
|
|
builder.setView(view); |
|
|
|
|
|
AlertDialog dialog = builder.create(); |
|
|
|
|
|
TextView tv_camera, tv_gallery, tv_cancel; |
|
|
|
|
|
tv_camera = view.findViewById(R.id.tv_photo); |
|
|
|
|
|
tv_gallery = view.findViewById(R.id.tv_gallery); |
|
|
|
|
|
tv_cancel = view.findViewById(R.id.tv_cancel); |
|
|
|
|
|
tv_camera.setOnClickListener(view13 -> { |
|
|
|
|
|
if (requestCodeCamera == 10) { |
|
|
|
|
|
takeAPicture(requestCodeCamera, 1); |
|
|
|
|
|
} else { |
|
|
|
|
|
takeAPicture(requestCodeCamera, 0); |
|
|
|
|
|
} |
|
|
|
|
|
dialog.dismiss(); |
|
|
|
|
|
}); |
|
|
|
|
|
tv_gallery.setOnClickListener(view1 -> { |
|
|
|
|
|
galleryIntent(requestCodeGallery); |
|
|
|
|
|
dialog.dismiss(); |
|
|
|
|
|
}); |
|
|
|
|
|
tv_cancel.setOnClickListener(view12 -> dialog.dismiss()); |
|
|
|
|
|
|
|
|
|
|
|
dialog.show(); |
|
|
|
|
|
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes(); |
|
|
|
|
|
lp.dimAmount = 0.8f; |
|
|
|
|
|
dialog.getWindow().setAttributes(lp); |
|
|
|
|
|
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void takeAPicture(int requestCode, int i) { |
|
|
private void takeAPicture(int requestCode, int i) { |
|
|
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); |
|
|
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); |
|
|
takePictureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); |
|
|
takePictureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); |
|
@ -265,6 +301,13 @@ public class DepositSlipActivity extends BaseActivity implements DepositSlipPres |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void galleryIntent(int requestCode) { |
|
|
|
|
|
Intent intent = new Intent(); |
|
|
|
|
|
intent.setType("image/*"); |
|
|
|
|
|
intent.setAction(Intent.ACTION_GET_CONTENT); |
|
|
|
|
|
startActivityForResult(Intent.createChooser(intent, this.getResources().getString(R.string.selectFile_text)), requestCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private File createImageFileInCache() throws Exception { |
|
|
private File createImageFileInCache() throws Exception { |
|
|
// Create an image file name |
|
|
// Create an image file name |
|
|
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); |
|
|
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); |
|
@ -287,8 +330,8 @@ public class DepositSlipActivity extends BaseActivity implements DepositSlipPres |
|
|
case REQUEST_PERMISSION_ID_FRONT: |
|
|
case REQUEST_PERMISSION_ID_FRONT: |
|
|
if (grantResults.length > 0 |
|
|
if (grantResults.length > 0 |
|
|
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) { |
|
|
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) { |
|
|
takeAPicture(CAMERA_REQUEST_ID_FRONT, 0); |
|
|
|
|
|
// cameraorGalleryChooser(CAMERA_REQUEST_ID_FRONT, GALLERY_REQUEST_ID_FRONT); |
|
|
|
|
|
|
|
|
//takeAPicture(CAMERA_REQUEST_ID_FRONT, 0); |
|
|
|
|
|
cameraorGalleryChooser(CAMERA_REQUEST_ID_FRONT, GALLERY_REQUEST_ID_FRONT); |
|
|
|
|
|
|
|
|
} else { |
|
|
} else { |
|
|
Snackbar.make(rootView.getRootView(), getString(R.string.permission_denied_text), Snackbar.LENGTH_LONG).show(); |
|
|
Snackbar.make(rootView.getRootView(), getString(R.string.permission_denied_text), Snackbar.LENGTH_LONG).show(); |
|
@ -297,8 +340,8 @@ public class DepositSlipActivity extends BaseActivity implements DepositSlipPres |
|
|
case REQUEST_PERMISSION_ID_BACK: |
|
|
case REQUEST_PERMISSION_ID_BACK: |
|
|
if (grantResults.length > 0 |
|
|
if (grantResults.length > 0 |
|
|
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) { |
|
|
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) { |
|
|
takeAPicture(CAMERA_REQUEST_ID_BACK, 0); |
|
|
|
|
|
// cameraorGalleryChooser(CAMERA_REQUEST_ID_BACK, GALLERY_REQUEST_ID_BACK); |
|
|
|
|
|
|
|
|
//takeAPicture(CAMERA_REQUEST_ID_BACK, 0); |
|
|
|
|
|
cameraorGalleryChooser(CAMERA_REQUEST_ID_BACK, GALLERY_REQUEST_ID_BACK); |
|
|
|
|
|
|
|
|
} else { |
|
|
} else { |
|
|
Snackbar.make(rootView.getRootView(), getString(R.string.permission_denied_text), Snackbar.LENGTH_LONG).show(); |
|
|
Snackbar.make(rootView.getRootView(), getString(R.string.permission_denied_text), Snackbar.LENGTH_LONG).show(); |
|
|