diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeTabRadioFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeTabRadioFragment.java index 34704941..a649a567 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeTabRadioFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeTabRadioFragment.java @@ -5,7 +5,6 @@ import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -22,6 +21,7 @@ import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.service.MediaService; import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.adapter.InternetRadioStationAdapter; +import com.cappielloantonio.play.ui.dialog.RadioEditorDialog; import com.cappielloantonio.play.util.Constants; import com.cappielloantonio.play.viewmodel.RadioViewModel; import com.google.common.util.concurrent.ListenableFuture; @@ -54,6 +54,7 @@ public class HomeTabRadioFragment extends Fragment implements ClickCallback { public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); + init(); initRadioStationView(); } @@ -76,13 +77,20 @@ public class HomeTabRadioFragment extends Fragment implements ClickCallback { bind = null; } + private void init() { + bind.internetRadioStationPreTextView.setOnClickListener(v -> { + RadioEditorDialog dialog = new RadioEditorDialog(() -> radioViewModel.getInternetRadioStations(getViewLifecycleOwner())); + dialog.show(activity.getSupportFragmentManager(), null); + }); + } + private void initRadioStationView() { bind.internetRadioStationRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext())); bind.internetRadioStationRecyclerView.setHasFixedSize(true); internetRadioStationAdapter = new InternetRadioStationAdapter(this); bind.internetRadioStationRecyclerView.setAdapter(internetRadioStationAdapter); - radioViewModel.getInternetRadioStations().observe(getViewLifecycleOwner(), internetRadioStations -> { + radioViewModel.getInternetRadioStations(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), internetRadioStations -> { if (internetRadioStations == null) { if (bind != null) bind.internetRadioStationPlaceholder.placeholder.setVisibility(View.VISIBLE); @@ -114,6 +122,8 @@ public class HomeTabRadioFragment extends Fragment implements ClickCallback { @Override public void onInternetRadioStationLongClick(Bundle bundle) { - Toast.makeText(requireContext(), "Long click!", Toast.LENGTH_SHORT).show(); + RadioEditorDialog dialog = new RadioEditorDialog(() -> radioViewModel.getInternetRadioStations(getViewLifecycleOwner())); + dialog.setArguments(bundle); + dialog.show(activity.getSupportFragmentManager(), null); } } diff --git a/app/src/main/res/layout/fragment_home_tab_radio.xml b/app/src/main/res/layout/fragment_home_tab_radio.xml index 951fc2d9..db283d13 100644 --- a/app/src/main/res/layout/fragment_home_tab_radio.xml +++ b/app/src/main/res/layout/fragment_home_tab_radio.xml @@ -17,19 +17,28 @@ android:paddingBottom="@dimen/global_padding_bottom"> + +