На самом деле сетевой вызов происходит в другом потоке, а вы возвращаете jsonArray
в основном потоке. Вы должны возвращать jsonArray только тогда, когда получите ответ через ohttp. Вам следует сделать следующее: -
public void getJsonResponse(String link){
okHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
if(response.isSuccessful()){
try {
jsonArray = new JSONArray(response.body().string());
getJsonString(jsonArray);
}catch (JSONException e){
e.printStackTrace();
}
}else{
Log.d("ERROR", "onResponse: ERROR" + response.body().string());
}
}
});
}
// somewhere in class
public JSONArray getJsonString(JSONArray jsonArr)
{
return jsonArr;
}