diff --git a/app/src/main/java/com/cappielloantonio/play/ui/dialog/StarredSyncDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/dialog/StarredSyncDialog.java index 8afc1fc1..53fc406f 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/dialog/StarredSyncDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/dialog/StarredSyncDialog.java @@ -5,6 +5,7 @@ import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; +import android.widget.Button; import androidx.annotation.NonNull; import androidx.fragment.app.DialogFragment; @@ -15,10 +16,8 @@ import com.cappielloantonio.play.databinding.DialogConnectionAlertBinding; import com.cappielloantonio.play.model.Download; import com.cappielloantonio.play.util.DownloadUtil; import com.cappielloantonio.play.util.MappingUtil; -import com.cappielloantonio.play.util.Preferences; import com.cappielloantonio.play.viewmodel.StarredSyncViewModel; -import java.util.Objects; import java.util.stream.Collectors; public class StarredSyncDialog extends DialogFragment { @@ -37,18 +36,15 @@ public class StarredSyncDialog extends DialogFragment { builder.setView(bind.getRoot()) .setTitle(R.string.starred_sync_dialog_title) - .setPositiveButton(R.string.starred_sync_dialog_positive_button, (dialog, id) -> { - }) - .setNegativeButton(R.string.starred_sync_dialog_negative_button, (dialog, id) -> { - }); + .setPositiveButton(R.string.starred_sync_dialog_positive_button, null) + .setNegativeButton(R.string.starred_sync_dialog_negative_button, null); return builder.create(); } @Override - public void onStart() { - super.onStart(); - + public void onResume() { + super.onResume(); setButtonAction(requireContext()); } @@ -59,22 +55,22 @@ public class StarredSyncDialog extends DialogFragment { } private void setButtonAction(Context context) { - ((AlertDialog) Objects.requireNonNull(getDialog())).getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(v -> { - starredSyncViewModel.getStarredTracks(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), songs -> { - if (songs != null) { - DownloadUtil.getDownloadTracker(context).download( - MappingUtil.mapDownloads(songs), - songs.stream().map(Download::new).collect(Collectors.toList()) - ); - } + AlertDialog dialog = ((AlertDialog) getDialog()); + + if (dialog != null) { + Button positiveButton = dialog.getButton(Dialog.BUTTON_POSITIVE); + positiveButton.setOnClickListener(v -> { + starredSyncViewModel.getStarredTracks(requireActivity()).observe(requireActivity(), songs -> { + if (songs != null) { + DownloadUtil.getDownloadTracker(context).download( + MappingUtil.mapDownloads(songs), + songs.stream().map(Download::new).collect(Collectors.toList()) + ); + } + + dialog.dismiss(); + }); }); - - Objects.requireNonNull(getDialog()).dismiss(); - }); - - ((AlertDialog) Objects.requireNonNull(getDialog())).getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(v -> { - Preferences.setStarredSyncEnabled(false); - Objects.requireNonNull(getDialog()).dismiss(); - }); + } } }