Запуск корутин в Java классе
На проекте досталась задача отрефакторить легаси код. Проблема в том, что большинство "сетевых запросов" выполнены через AsyncTask, а основные классы написаны на Java. В связи с этим возник вопрос: возможно ли запустить корутину из Java класса? Примеры кода ниже. AsyncTask:
public class SearchMaterials extends AsyncTask<Void, Void, ArrayList<MaterialEntity>> {
private BaseRepairPresenter baseRepairPresenter;
private String query;
private boolean isSearch;
private String smmId;
private RepairView repairView;
public SearchMaterials(BaseRepairPresenter baseRepairPresenter, String query,
boolean isSearch, String smmId, RepairView repairView) {
this.baseRepairPresenter = baseRepairPresenter;
this.query = query;
this.isSearch = isSearch;
this.smmId = smmId;
this.repairView = repairView;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
repairView.showPreloader();
}
Вызов asyncTask в Java классе:
SearchMaterials searchMaterials = new SearchMaterials(baseRepairPresenter,
query + position + ", " + count, true, smmId, this);
searchMaterials.execute();