Код: Выделить всё
public static void GenerateToken(Callback callback) {
try {
Request request = getRequest();
client.newCall(request).enqueue(new okhttp3.Callback() {
@Override
public void onFailure(@NonNull Call call, @NonNull IOException e) {
callback.onError(e);
}
@Override
public void onResponse(@NonNull Call call, @NonNull Response response) {
try (ResponseBody responseBody = response.body()) { //автоматическоое закрытие
if (response.isSuccessful() && responseBody != null) {
JSONObject jsonResponse = new JSONObject(responseBody.string());
String accessToken = jsonResponse.optString("access_token", null);
callback.onResponse(accessToken);
}
}catch (Exception e) {
callback.onError(new IOException("Unexpected response: " + response));
}
}
});
} catch (Exception e) {
callback.onError(e);
}
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... over-again