diff --git a/app/src/main/java/com/cappielloantonio/tempo/repository/SharingRepository.java b/app/src/main/java/com/cappielloantonio/tempo/repository/SharingRepository.java index 5c5edd04..9c531831 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/repository/SharingRepository.java +++ b/app/src/main/java/com/cappielloantonio/tempo/repository/SharingRepository.java @@ -49,12 +49,14 @@ public class SharingRepository { public void onResponse(@NonNull Call call, @NonNull Response response) { if (response.isSuccessful() && response.body() != null && response.body().getSubsonicResponse().getShares() != null && response.body().getSubsonicResponse().getShares().getShares() != null && response.body().getSubsonicResponse().getShares().getShares().get(0) != null) { share.setValue(response.body().getSubsonicResponse().getShares().getShares().get(0)); + } else { + share.setValue(null); } } @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { - + share.setValue(null); } }); diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/dialog/PlaylistEditorDialog.java b/app/src/main/java/com/cappielloantonio/tempo/ui/dialog/PlaylistEditorDialog.java index 5783f9dc..a7e09fa8 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/dialog/PlaylistEditorDialog.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/dialog/PlaylistEditorDialog.java @@ -8,6 +8,7 @@ import android.content.Context; import android.os.Bundle; import android.text.TextUtils; import android.view.View; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.fragment.app.DialogFragment; @@ -107,9 +108,13 @@ public class PlaylistEditorDialog extends DialogFragment { bind.playlistShareButton.setOnClickListener(view -> { playlistEditorViewModel.sharePlaylist().observe(requireActivity(), sharedPlaylist -> { - ClipboardManager clipboardManager = (ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE); - ClipData clipData = ClipData.newPlainText(getString(R.string.app_name), sharedPlaylist.getUrl()); - clipboardManager.setPrimaryClip(clipData); + if (sharedPlaylist != null) { + ClipboardManager clipboardManager = (ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clipData = ClipData.newPlainText(getString(R.string.app_name), sharedPlaylist.getUrl()); + clipboardManager.setPrimaryClip(clipData); + } else { + Toast.makeText(requireContext(), getString(R.string.share_unsupported_error), Toast.LENGTH_SHORT).show(); + } }); }); diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java index 97c10fe7..e60bb375 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java @@ -39,6 +39,7 @@ import com.cappielloantonio.tempo.util.Preferences; import com.cappielloantonio.tempo.viewmodel.AlbumBottomSheetViewModel; import com.cappielloantonio.tempo.viewmodel.HomeViewModel; import com.google.android.material.bottomsheet.BottomSheetDialogFragment; +import com.google.android.material.snackbar.Snackbar; import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; @@ -198,6 +199,9 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements clipboardManager.setPrimaryClip(clipData); refreshShares(); dismissBottomSheet(); + } else { + Toast.makeText(requireContext(), getString(R.string.share_unsupported_error), Toast.LENGTH_SHORT).show(); + dismissBottomSheet(); } })); diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java index 782ad35a..213361a9 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java @@ -216,6 +216,9 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements clipboardManager.setPrimaryClip(clipData); refreshShares(); dismissBottomSheet(); + } else { + Toast.makeText(requireContext(), getString(R.string.share_unsupported_error), Toast.LENGTH_SHORT).show(); + dismissBottomSheet(); } })); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 354ff843..fc3eeed3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -263,6 +263,7 @@ Description Expiration date Share + Sharing is not supported or not enabled Add to playlist Add to queue Download