Как отправить две фотографии с одной активити?
Есть активити с двумя imageview
Но не получается добавить две разные фотографии и отправляется только одно изображение при этом ссылка на нее дублируется два раза в базе данных.
Я прописал метод отправки и обрезки фото используя библиотеку Cropimage и Piccaso.
public class PTSActivity extends AppCompatActivity {
private ImageView image_pts_obrat, image_pts_one;
private AppCompatButton button_dobav_pts, button_pts_obratnai, load_pts_del;
private StorageReference storageDeliveryPts;
private StorageTask uploadTask;
private Uri imageUriPts, imageUriPtstwo;
private FirebaseAuth mAuth;
private String myUri = "";
private String myUritwo = "";
private static final int GALLERYPICK = 1;
private static final int GALLERYPICKTwo = 1;
private String DownloadImageUrlTwo, DownloadImageUrlOne;
private DatabaseReference PtsRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ptsactivity);
image_pts_one = (ImageView) findViewById(R.id.image_pts_one);
image_pts_obrat = (ImageView) findViewById(R.id.image_pts_obrat);
PtsRef = FirebaseDatabase.getInstance().getReference().child("delivery");
storageDeliveryPts = FirebaseStorage.getInstance().getReference().child("delivcarPTS");
button_dobav_pts = (AppCompatButton) findViewById(R.id.button_dobav_pts);
load_pts_del = (AppCompatButton) findViewById(R.id.load_pts_del);
mAuth = FirebaseAuth.getInstance();
button_pts_obratnai = (AppCompatButton) findViewById(R.id.button_pts_obratnai);
load_pts_del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
loadImagePts();
}
});
button_dobav_pts.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OpenGallery();
}
});
button_pts_obratnai.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OPenGalleryTwo();
}
});
}
private void OPenGalleryTwo() {
Intent galleryintent = new Intent();
galleryintent.setAction(Intent.ACTION_GET_CONTENT);
galleryintent.setType("image/*");
startActivityForResult(galleryintent, GALLERYPICKTwo);
}
private void OpenGallery() {
Intent galleryintent = new Intent();
galleryintent.setAction(Intent.ACTION_GET_CONTENT);
galleryintent.setType("image/*");
startActivityForResult(galleryintent, GALLERYPICK);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GALLERYPICK && resultCode == RESULT_OK && data != null) {
if (requestCode == GALLERYPICKTwo && resultCode == RESULT_OK && data != null) {
imageUriPts = data.getData();
imageUriPtstwo = data.getData();
image_pts_one.setImageURI(imageUriPts);
image_pts_obrat.setImageURI(imageUriPtstwo);
}
}
}
private void loadImagePts() {
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("Идет загрузка");
progressDialog.setMessage("Пожалуйста подождите");
progressDialog.show();
StorageReference filePath = storageDeliveryPts.child(imageUriPts.getLastPathSegment() + ".jpg");
final UploadTask uploadTask = filePath.putFile(imageUriPts);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
String message = e.toString();
Toast.makeText(PTSActivity.this, "error" + message, Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(PTSActivity.this, "Изображение загружено", Toast.LENGTH_SHORT).show();
Task<Uri> uriTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
DownloadImageUrlOne = filePath.getDownloadUrl().toString();
return filePath.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
DownloadImageUrlOne = task.getResult().toString();
Toast.makeText(PTSActivity.this, "Фото сохранено", Toast.LENGTH_SHORT).show();
loadtwo();
}
}
});
}
});
}
private void loadtwo() {
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("Идет загрузка");
progressDialog.setMessage("Пожалуйста подождите");
progressDialog.show();
StorageReference filePath = storageDeliveryPts.child(imageUriPtstwo.getLastPathSegment() + ".jpg");
final UploadTask uploadTask = filePath.putFile(imageUriPtstwo);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
String message = e.toString();
Toast.makeText(PTSActivity.this, "error" + message, Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(PTSActivity.this, "Изображение загружено", Toast.LENGTH_SHORT).show();
Task<Uri> uriTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
DownloadImageUrlTwo = filePath.getDownloadUrl().toString();
return filePath.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
DownloadImageUrlTwo = task.getResult().toString();
Toast.makeText(PTSActivity.this, "Фото сохранено", Toast.LENGTH_SHORT).show();
HashMap<String, Object> OplataMap = new HashMap<>();
OplataMap.put("imageCar",getIntent().getExtras().get("imageCar").toString());
OplataMap.put("name",getIntent().getExtras().get("name").toString());
OplataMap.put("numberphone_deliver",getIntent().getExtras().get("number").toString());
OplataMap.put("uid",mAuth.getCurrentUser().getUid());
OplataMap.put("imagePts",DownloadImageUrlOne);
OplataMap.put("imagePtstwo",DownloadImageUrlTwo);
PtsRef.child(mAuth.getCurrentUser().getUid()).updateChildren(OplataMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
progressDialog.dismiss();
Toast.makeText(PTSActivity.this, "Заявка отправлена", Toast.LENGTH_SHORT).show();
}else{
progressDialog.dismiss();
String message=task.getException().toString();
Toast.makeText(PTSActivity.this, "Ошибка"+message, Toast.LENGTH_SHORT).show();
}
}
});
}
}
});
}
});
}
}
Проблема заключается в том что можно отправить только одну фотографию. Как можно решить мою проблему?