package com.example.myapplication;
import android.app.Application;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class RecyclingRepository {
private RecyclingDao recyclingDao;
private ExecutorService executorService;
public interface Callback<T> {
void onResult(T result);
}
public RecyclingRepository(Application application) {
AppDatabase db = AppDatabase.getInstance(application);
recyclingDao = db.recyclingDao();
executorService = Executors.newSingleThreadExecutor();
}
public void insert(Recycling recycling) {
executorService.execute(() -> recyclingDao.insert(recycling));
}
public void update(Recycling recycling) {
executorService.execute(() -> recyclingDao.update(recycling));
}
public void delete(Recycling recycling) {
executorService.execute(() -> recyclingDao.delete(recycling));
}
public void getAllRecycling(Callback<List<Recycling>> callback) {
executorService.execute(() -> {
List<Recycling> list = recyclingDao.getAllRecycling();
callback.onResult(list);
});
}
}