Работа с потоками и не отображение данных в RecyclerView

В методе getDataFromServerSortTotalCases я беру данные по регионам из 1-о сайта через json. Так как на нем нету регионов Украины я беру их с 2-о сайта (из таблицы так как json нету) для того и был создан 2 поток. У меня не работает именно с Украиной (данные не отображаются в RecyclerView) где данные додаются через 2-й поток по другим странам все нормально (Которые в 1 потоке и из 1-о сайта).

Сам второй поток

private void initThread() {
    runnable = new Runnable() {
        @Override
        public void run() {
            getWeb();
        }
    };
    secondThread = new Thread(runnable);
    secondThread.start();
}

private void getWeb() {
    try {
        String url = "https://en.wikipedia.org/wiki/COVID-19_pandemic_in_Ukraine";
        doc = Jsoup.connect(url).get();
        Elements table = doc.getElementsByTag("tbody");
        Element myTable = table.get(2);
        for (int i = 1; i < myTable.childrenSize() - 1; i++){
            covidRegions.add(new CovidRegion(
                    myTable.children().get(i).child(0).text(), Integer.parseInt(myTable.children().get(i).child(1).text().replaceAll(",", "")),
                   myTable.children().get(i).child(2).text(), myTable.children().get(i).child(3).text()
            ));
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

}

тут инициализирую поток 2-й и делаю сортировку

private void getDataFromServerSortTotalCases(final String CountryName) {
    String url = "https://corona.lmao.ninja/v2/jhucsse";

    final StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            progressBar.setVisibility(View.GONE);
            if (response != null) {
                Log.e(TAG, "onResponse: " + response);
                try {
                    JSONArray jsonArray = new JSONArray(response);

                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject data = jsonArray.getJSONObject(i);
                        String parseName = data.getString("country");
                        if (parseName.equals("US")) parseName = "USA";
                        Log.e(TAG, "onResponse: " + data.getString("country") + " == " + tvDetailCountryName.getText());
                        if (parseName.equals(CountryName)) {
                            // Extract JSONObject inside JSONObject
                            String regionName = data.getString("province");
                            if (regionName.equals("Recovered") || CountryName.equals(parseName) && regionName.equals("null"))
                                    continue;
                            JSONObject regionInfo = data.getJSONObject("stats");
                            if (regionName.equals("null")) {
                                covidRegions.add(new CovidRegion(
                                        CountryName, Integer.valueOf(tvDetailTotalCases.getText().toString()),
                                        tvDetailTotalDeaths.getText().toString(), tvDetailTotalRecovered.getText().toString()
                                ));
                            } else {
                                Log.e(TAG, "onResponse: " + "Region name = " + regionName + "; Confirmed = " + regionInfo.getInt("confirmed") + "; Deaths = " + regionInfo.getString("deaths") + "; Recovered = " + regionInfo.getString("recovered"));
                                covidRegions.add(new CovidRegion(
                                        regionName, regionInfo.getInt("confirmed"),
                                        regionInfo.getString("deaths"), regionInfo.getString("recovered")
                                ));
                            }
                        } else continue;
                    }
                    if (CountryName.equals("Ukraine")) {
                        initThread();
                    }
                    if (covidRegions.isEmpty() && !CountryName.equals("Ukraine")) {
                        covidRegions.add(new CovidRegion(
                                CountryName, Integer.valueOf(tvDetailTotalCases.getText().toString()),
                                tvDetailTotalDeaths.getText().toString(), tvDetailTotalRecovered.getText().toString()
                        ));
                    }

                    // sort descending
                    Collections.sort(covidRegions, new Comparator<CovidRegion>() {
                        @Override
                        public int compare(CovidRegion o1, CovidRegion o2) {
                            if (o1.getmConfirmed() > o2.getmConfirmed()) {
                                return -1;
                            } else {
                                return 1;
                            }
                        }
                    });


                    showRecyclerView();
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }
    },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    progressBar.setVisibility(View.GONE);
                    Log.e(TAG, "onResponse: " + error);
                }
            });
    Volley.newRequestQueue(CovidCountryDetail.this).add(stringRequest);
}

Ответы (0 шт):