mirror of
https://github.com/antebudimir/tempus.git
synced 2025-12-31 17:43:32 +00:00
fix: reload after action
This commit is contained in:
parent
44a18fc5aa
commit
df4ef74dd2
3 changed files with 18 additions and 4 deletions
|
|
@ -79,9 +79,9 @@ public class RadioEditorDialog extends DialogFragment {
|
||||||
((AlertDialog) Objects.requireNonNull(getDialog())).getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(v -> {
|
((AlertDialog) Objects.requireNonNull(getDialog())).getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(v -> {
|
||||||
if (validateInput()) {
|
if (validateInput()) {
|
||||||
if (radioEditorViewModel.getRadioToEdit() == null) {
|
if (radioEditorViewModel.getRadioToEdit() == null) {
|
||||||
radioEditorViewModel.createRadio(radioName, radioStreamURL, radioHomepageURL);
|
radioEditorViewModel.createRadio(radioName, radioStreamURL, radioHomepageURL.isEmpty() ? null : radioHomepageURL);
|
||||||
} else {
|
} else {
|
||||||
radioEditorViewModel.updateRadio(radioName, radioStreamURL, radioHomepageURL);
|
radioEditorViewModel.updateRadio(radioName, radioStreamURL, radioHomepageURL.isEmpty() ? null : radioHomepageURL);
|
||||||
}
|
}
|
||||||
|
|
||||||
dismissDialog();
|
dismissDialog();
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.cappielloantonio.play.ui.fragment;
|
||||||
|
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
@ -17,6 +18,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import com.cappielloantonio.play.databinding.FragmentHomeTabRadioBinding;
|
import com.cappielloantonio.play.databinding.FragmentHomeTabRadioBinding;
|
||||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||||
|
import com.cappielloantonio.play.interfaces.RadioCallback;
|
||||||
import com.cappielloantonio.play.service.MediaManager;
|
import com.cappielloantonio.play.service.MediaManager;
|
||||||
import com.cappielloantonio.play.service.MediaService;
|
import com.cappielloantonio.play.service.MediaService;
|
||||||
import com.cappielloantonio.play.ui.activity.MainActivity;
|
import com.cappielloantonio.play.ui.activity.MainActivity;
|
||||||
|
|
@ -28,7 +30,7 @@ import com.cappielloantonio.play.viewmodel.RadioViewModel;
|
||||||
import com.google.common.util.concurrent.ListenableFuture;
|
import com.google.common.util.concurrent.ListenableFuture;
|
||||||
|
|
||||||
@UnstableApi
|
@UnstableApi
|
||||||
public class HomeTabRadioFragment extends Fragment implements ClickCallback {
|
public class HomeTabRadioFragment extends Fragment implements ClickCallback, RadioCallback {
|
||||||
private static final String TAG = "HomeTabRadioFragment";
|
private static final String TAG = "HomeTabRadioFragment";
|
||||||
|
|
||||||
private FragmentHomeTabRadioBinding bind;
|
private FragmentHomeTabRadioBinding bind;
|
||||||
|
|
@ -80,7 +82,7 @@ public class HomeTabRadioFragment extends Fragment implements ClickCallback {
|
||||||
|
|
||||||
private void init() {
|
private void init() {
|
||||||
bind.internetRadioStationPreTextView.setOnClickListener(v -> {
|
bind.internetRadioStationPreTextView.setOnClickListener(v -> {
|
||||||
RadioEditorDialog dialog = new RadioEditorDialog(() -> radioViewModel.getInternetRadioStations(getViewLifecycleOwner()));
|
RadioEditorDialog dialog = new RadioEditorDialog(this);
|
||||||
dialog.show(activity.getSupportFragmentManager(), null);
|
dialog.show(activity.getSupportFragmentManager(), null);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -133,4 +135,12 @@ public class HomeTabRadioFragment extends Fragment implements ClickCallback {
|
||||||
dialog.setArguments(bundle);
|
dialog.setArguments(bundle);
|
||||||
dialog.show(activity.getSupportFragmentManager(), null);
|
dialog.show(activity.getSupportFragmentManager(), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDismiss() {
|
||||||
|
new Handler().postDelayed(() -> {
|
||||||
|
if (radioViewModel != null)
|
||||||
|
radioViewModel.refreshInternetRadioStations(getViewLifecycleOwner());
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,4 +28,8 @@ public class RadioViewModel extends AndroidViewModel {
|
||||||
radioRepository.getInternetRadioStations().observe(owner, internetRadioStations::postValue);
|
radioRepository.getInternetRadioStations().observe(owner, internetRadioStations::postValue);
|
||||||
return internetRadioStations;
|
return internetRadioStations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void refreshInternetRadioStations(LifecycleOwner owner) {
|
||||||
|
radioRepository.getInternetRadioStations().observe(owner, internetRadioStations::postValue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue