UberClone icon indicating copy to clipboard operation
UberClone copied to clipboard

How to handle getRequestsAround()t and //TODO getAssignedCustomer(); in DriverMapActivity? Problem also with toolbar Id

Open Coco0185 opened this issue 2 years ago • 0 comments

Hi ,

  1. Concerning : getRequestsAround()

there is an error I think in the listener in DriverMapActivity

It never enter in the geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() since there is no GeoFirelocation put in the CustomerMapActivity at "customer_requests":

in DriverMapActivity : private void getRequestsAround() { if (mLastLocation == null) { return; }

    DatabaseReference requestLocation = FirebaseDatabase.getInstance().getReference().child("customer_requests");

    GeoFire geoFire = new GeoFire(requestLocation);
    geoQuery = geoFire.queryAtLocation(new GeoLocation(mLastLocation.getLatitude(), mLastLocation.getLongitude()), MAX_SEARCH_DISTANCE);
    geoQuery.removeAllListeners();

    geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
        @Override
        public void onKeyEntered(String key, GeoLocation location) {
            if(!mWorkingSwitch.isChecked()){
                return;
            }

            if (mCurrentRide == null) {
                for (RideObject mRideIt : requestList) {
                    if (mRideIt.getId().equals(key)) {
                        return;
                    }
                }

                getRequestInfo(key);

            }else{
                requestList.clear();
            }
        }

        @Override
        public void onKeyExited(String key) {
        }

        @Override
        public void onKeyMoved(String key, GeoLocation location) {
        }

        @Override
        public void onGeoQueryReady() {
        }

        @Override
        public void onGeoQueryError(DatabaseError error) {
        }
    });
}

Should We listen to the "ride_info" node? If so , how to handle the rest of the code ( the request itself)?

  1. I broke my head to understand this also but since we handle request now ,. Here is what I did :

private void getAssignedCustomer(){ String driverId = FirebaseAuth.getInstance().getCurrentUser().getUid(); DatabaseReference assignedCustomerRef = FirebaseDatabase.getInstance().getReference().child("ride_info"); assignedCustomerRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if(dataSnapshot.exists()){

                mCurrentRide.confirmDriver();
                mCurrentRide.parseData(dataSnapshot);
                requestList.add(mCurrentRide);

            }else{
                endRide();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
}
  1. I 've never found the toolbar id in the code in the Driver & Customer Maps Activity :
    image Ive checked on the corresponding .xml layout file there is no mention of @+id/toolbar neither in the string.xml ressource file

Please Help ;)

Coco0185 avatar Aug 19 '22 14:08 Coco0185