mLastLocation: null, always is null, how can solve it?
this is my code
private void displayLocation() {
        if(ActivityCompat.checkSelfPermission(TrackingOrder.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
                && ActivityCompat.checkSelfPermission(TrackingOrder.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
        {
            Log.d("Check-1","ok");
            requestRuntimePermission();
        }
        else
        {
            mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
            //mLastLocation = LocationServices.getFusedLocationProviderClient(this).getLastLocation().addOnSuccessListener(mGoogleApiClient);
            Log.d("Check-2","ok");
            Log.d("mLastLocation",String.valueOf(mLastLocation));
            if(mLastLocation != null)
            {
                double latitude = mLastLocation.getLatitude();
                double longitude = mLastLocation.getLongitude();
                Log.d("Check - latitude",String.valueOf(latitude));
                Log.d("Check - longitude",String.valueOf(longitude));
                // Add Marker in your location and move the camera
                LatLng yourLocation = new LatLng(latitude,longitude);
                mMap.addMarker(new MarkerOptions().position(yourLocation).title("Your Location"));
                mMap.moveCamera(CameraUpdateFactory.newLatLng(yourLocation));
                mMap.animateCamera(CameraUpdateFactory.zoomTo(17.0f));
                
                //After add marker for your location, add marker for this order and draw route
                drawRoute(yourLocation,Common.currentRequest.getAddress());
                
            }
            else
            {
                Log.d("Error","Cannot get location");
                Toast.makeText(this,"Could'nt get your location", Toast.LENGTH_SHORT).show();
            }
        }
    }
this is my mGoogleApiClient code
protected synchronized void buildGoogleApiClient() {
        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addConnectionCallbacks(this)
                .addConnectionCallbacks(this)
                .addApi(LocationServices.API).build();
        mGoogleApiClient.connect();
    }
But when I locad this displayLocation funcation, there is problem
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
Because the mLastLocation still get null.
So where I need to modify?
there has full code
 
    