Работа с uid(Firebase)
Есть метод отправки от одного пользователя текстовой информации с своим uid
Метод отправки uid пользователя и текстовой информации
private void SaveProductInfoToDatabase() {
HashMap<String,Object> productMap=new HashMap<>();
productMap.put("productId",ProductRandomKey);
productMap.put("date",saveCurrentDate);
productMap.put("time",saveCurrentTime);
productMap.put("uid",mAuth.getCurrentUser().getUid());
productMap.put("carmarka",carmarka);
productMap.put("modelcar",modelcar);
productMap.put("cardate",cardate);
productMap.put("dvigatel",dvigatel);
productMap.put("cusovcar",cusovcar);
productMap.put("zapchastCar",zapchastCar);
productMap.put("adress",adress);
productMap.put("city",city);
zakazZRef.push().updateChildren(productMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
progressDialog.dismiss();
Toast.makeText(ShopCLientActivity.this, "Заявка отправлена", Toast.LENGTH_SHORT).show();
mediaPlayerOtpravleno.start();
}else{
progressDialog.dismiss();
String message=task.getException().toString();
Toast.makeText(ShopCLientActivity.this, "Ошибка"+message, Toast.LENGTH_SHORT).show();
}
}
});
////сохранение заявки в базе данных конец////
}
////метод отправки данных конец////
}
Это метод приема другими пользователями вместе uid
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerOptions<Zayavka> options=new FirebaseRecyclerOptions.Builder<Zayavka>()
.setQuery(MagZakaz,Zayavka.class).build();
FirebaseRecyclerAdapter<Zayavka, ZayavkaHolder> adapter=new FirebaseRecyclerAdapter<Zayavka, ZayavkaHolder>(options) {
@Override
protected void onBindViewHolder( @androidx.annotation.NonNull ZayavkaHolder holder, int position, @androidx.annotation.NonNull Zayavka model) {
holder.text_carmodel_shop.setHint(model.getUid());
holder.text_zapchast_shop.setText(model.getZapchastCar());
holder.text_cusovmodel_shop.setText(model.getCusovcar());
holder.text_dvigatelmodel_shop.setText(model.getDvigatel());
holder.text_cardate_shop.setText(model.getCardate());
holder.text_city_shop.setText(model.getCity());
holder.text_adress_shop.setText(model.getAdress());
holder.text_carmodel_shop.setText(model.getModelcar());
holder.text_carmarka_shop.setText(model.getCarmarka());
}
@Override
public ZayavkaHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.item_shop,parent,false);
ZayavkaHolder holder=new ZayavkaHolder(view);
return holder;
}
};
recyclerView.setAdapter(adapter);
adapter.startListening();
}
////Получение заявок от клиентов конец////
Передача принятого uid из активити приема в активити ответа
button_otvet_shop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
///Отправка///
Intent intent=new Intent(view.getContext(),OtvetShopsClientActivity.class);
intent.putExtra("uid",text_carmodel_shop.getHint().toString());
view.getContext().startActivity(intent);
}
});
Метод ответа пользователю uid которого принято
private void SaveProductInfoToDatabase() {
HashMap<String, Object> OtvetMap = new HashMap<>();
OtvetMap.put("tovarname", tovarname);
OtvetMap.put("tovarprice", tovarprice);
OtvetMap.put("magazadress", magazadress);
OtvetMap.put( "uidClient" , getIntent().getExtras().get("uid").toString());
OtvetMap.put("image",DownloadImageUrl);
OtvetMap.put("productId", OtvetRandomKey);
OtvetMap.put("date", SaveCurrentDate);
OtvetMap.put("time", SaveCurrentTime);
otvetRef.child(OtvetRandomKey).updateChildren(OtvetMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
progressDialog.dismiss();
Toast.makeText(OtvetShopsClientActivity.this, "Ответ отправлен", Toast.LENGTH_SHORT).show();
mediaPlayerTwo.start();
} else {
progressDialog.dismiss();
String message = task.getException().toString();
Toast.makeText(OtvetShopsClientActivity.this, "Ошибка" + message, Toast.LENGTH_SHORT).show();
}
}
});
////сохранение заявки в базе данных конец////
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==GALLERYPICK&&resultCode==RESULT_OK&&data !=null){
ImageUri=data.getData();
image_otvet_clientu_photo.setImageURI(ImageUri);
}
}
}
Как сделать так чтобы пользователь отправивший сообщения со своим uid видел ответы только со своим uid? Какой метод проверки использовать?