Работа с 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? Какой метод проверки использовать?


Ответы (0 шт):