Я делаю статическую функцию для повторного использования текущего местоположения, и я использую SynchronousQueue, чтобы остановить возврат функции до завершения процесса получения местоположения, но проблема в том, что он никогда не завершается. Вот тело функции, когда я комментирую фрагмент очереди, она обычно завершается, но никогда не завершается при использовании очереди.
fusedLocationClient.getLastLocation()
.addOnCompleteListener(new OnCompleteListener<Location>() {
@Override
public void onComplete(@NonNull Task<Location> task) {
if(task.isSuccessful()){
if(task.getResult() != null){
FancyToast.makeText(context, "Loc acquired: " + task.getResult().getLatitude()
, FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();
//mOperationDone = true;
mCurrentLocation = task.getResult();
// try {
// queue.put(mCurrentLocation);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
}
}
}
});
в чем тут проблема