سلام ببینید من میخام همزمان دو ریسپانس از سرور دریافت کنم من به این صورت کد هامو نوشتم ولی فقط لیست موزیکها دریافت میشه میخاستم ببینیم مشکل کجاست ؟
بخش مربوط به Repository
public Completable RefreshMusic(String action){
return apiService.getMusic(action).doOnSuccess(musics -> mediaDao.addMusic(musics.getResults())).ignoreElement();
}
public Completable RefreshVideo(String action){
return apiService.getVideo(action).doOnSuccess(videos -> mediaDao.addVideo(videos.getResults())).ignoreElement();
}
بخش مربوط به ویو مدل
radioJavanRepository.RefreshMusic(action)
.subscribeOn(Schedulers.io())
.subscribe(new CompletableObserver() {
@Override
public void onSubscribe(@NonNull Disposable d) {
disposable.add(d);
}
@Override
public void onComplete() {
}
@Override
public void onError(@NonNull Throwable e) {
error.postValue(e.getMessage());
}
});
radioJavanRepository.RefreshVideo(action)
.subscribeOn(Schedulers.io())
.subscribe(new CompletableObserver() {
@Override
public void onSubscribe(@NonNull Disposable d) {
disposable.add(d);
}
@Override
public void onComplete() {
}
@Override
public void onError(@NonNull Throwable e) {
error.postValue(e.getMessage());
}
});
MainActivity و کد مربوط به
MainViewModel viewModel = new ViewModelProvider(this,
new MainViewModelFactory(
new RadioJavanRepository(
ApiServiceProvider.getApiService(), AppDatabase.getAppDatabase(getApplicationContext()).get())
, "new_songs")).get(MainViewModel.class);
viewModel.getMusic().observe(this, musics -> {
resultList = musics;
Log.i("TAG", "onCreate Music: ");
}
);
MainViewModel viewModelVideo = new ViewModelProvider(this,
new MainViewModelFactory(
new RadioJavanRepository(
ApiServiceProvider.getApiService(), AppDatabase.getAppDatabase(getApplicationContext()).get())
, "new_videos")).get(MainViewModel.class);
viewModelVideo.getVideo().observe(this, videos -> {
resultListVideo = videos;
Log.i("TAG", "onCreate Video: ");
}
);