mirror of
https://github.com/antebudimir/tempus.git
synced 2026-01-01 09:53:33 +00:00
feat: radio stream add/edit dialog
This commit is contained in:
parent
3ef46a8536
commit
2542b28916
7 changed files with 301 additions and 2 deletions
|
|
@ -0,0 +1,43 @@
|
|||
package com.cappielloantonio.play.viewmodel;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.AndroidViewModel;
|
||||
|
||||
import com.cappielloantonio.play.repository.RadioRepository;
|
||||
import com.cappielloantonio.play.subsonic.models.InternetRadioStation;
|
||||
|
||||
public class RadioEditorViewModel extends AndroidViewModel {
|
||||
private static final String TAG = "RadioEditorViewModel";
|
||||
|
||||
private final RadioRepository radioRepository;
|
||||
|
||||
private InternetRadioStation toEdit;
|
||||
|
||||
public RadioEditorViewModel(@NonNull Application application) {
|
||||
super(application);
|
||||
|
||||
radioRepository = new RadioRepository();
|
||||
}
|
||||
|
||||
public InternetRadioStation getRadioToEdit() {
|
||||
return toEdit;
|
||||
}
|
||||
|
||||
public void setRadioToEdit(InternetRadioStation internetRadioStation) {
|
||||
this.toEdit = internetRadioStation;
|
||||
}
|
||||
|
||||
public void createRadio(String name, String streamURL, String homepageURL) {
|
||||
radioRepository.createInternetRadioStation(name, streamURL, homepageURL);
|
||||
}
|
||||
|
||||
public void updateRadio(String name, String streamURL, String homepageURL) {
|
||||
if (toEdit != null) radioRepository.updateInternetRadioStation(toEdit.getId(), name, streamURL, homepageURL);
|
||||
}
|
||||
|
||||
public void deleteRadio() {
|
||||
if (toEdit != null) radioRepository.deleteInternetRadioStation(toEdit.getId());
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,9 @@ import android.app.Application;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.AndroidViewModel;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import com.cappielloantonio.play.repository.RadioRepository;
|
||||
import com.cappielloantonio.play.subsonic.models.InternetRadioStation;
|
||||
|
|
@ -14,13 +16,16 @@ import java.util.List;
|
|||
public class RadioViewModel extends AndroidViewModel {
|
||||
private final RadioRepository radioRepository;
|
||||
|
||||
private final MutableLiveData<List<InternetRadioStation>> internetRadioStations = new MutableLiveData<>(null);
|
||||
|
||||
public RadioViewModel(@NonNull Application application) {
|
||||
super(application);
|
||||
|
||||
radioRepository = new RadioRepository();
|
||||
}
|
||||
|
||||
public LiveData<List<InternetRadioStation>> getInternetRadioStations() {
|
||||
return radioRepository.getInternetRadioStations();
|
||||
public LiveData<List<InternetRadioStation>> getInternetRadioStations(LifecycleOwner owner) {
|
||||
radioRepository.getInternetRadioStations().observe(owner, internetRadioStations::postValue);
|
||||
return internetRadioStations;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue