summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2022-05-07 21:53:33 +0200
committerGitHub <noreply@github.com>2022-05-07 21:53:33 +0200
commit4f82be769875cd4cfb245d2c9ff7d56d44b59c80 (patch)
treec58e8fa876ff9e3cc32417d59c06c66a67d8259f /app/src/main/java/de/danoeh
parentfb3f8949a3896d0ecdc2ff9a47c837f14081de76 (diff)
parent02197e31b3822d2420a654c03058a62d3b5820db (diff)
downloadAntennaPod-4f82be769875cd4cfb245d2c9ff7d56d44b59c80.zip
Merge pull request #5873 from ByteHamster/share-sheet
Convert share dialog to bottom sheet
Diffstat (limited to 'app/src/main/java/de/danoeh')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/ShareDialog.java30
1 files changed, 13 insertions, 17 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/ShareDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/ShareDialog.java
index dbd4cdb59..79a2d0005 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/ShareDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/ShareDialog.java
@@ -1,21 +1,19 @@
package de.danoeh.antennapod.dialog;
-import android.app.Dialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.view.LayoutInflater;
import android.view.View;
-
+import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.DialogFragment;
-import de.danoeh.antennapod.R;
+import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
+import de.danoeh.antennapod.core.util.ShareUtils;
import de.danoeh.antennapod.databinding.ShareEpisodeDialogBinding;
import de.danoeh.antennapod.model.feed.FeedItem;
-import de.danoeh.antennapod.core.util.ShareUtils;
-public class ShareDialog extends DialogFragment {
+public class ShareDialog extends BottomSheetDialogFragment {
private static final String ARGUMENT_FEED_ITEM = "feedItem";
private static final String PREF_NAME = "ShareDialog";
private static final String PREF_SHARE_EPISODE_START_AT = "prefShareEpisodeStartAt";
@@ -39,25 +37,23 @@ public class ShareDialog extends DialogFragment {
return dialog;
}
- @NonNull
+ @Nullable
@Override
- public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
+ @Nullable Bundle savedInstanceState) {
if (getArguments() != null) {
ctx = getActivity();
item = (FeedItem) getArguments().getSerializable(ARGUMENT_FEED_ITEM);
prefs = getActivity().getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
}
- viewBinding = ShareEpisodeDialogBinding.inflate(getLayoutInflater());
+ viewBinding = ShareEpisodeDialogBinding.inflate(inflater);
viewBinding.shareDialogRadioGroup.setOnCheckedChangeListener((group, checkedId) ->
viewBinding.sharePositionCheckbox.setEnabled(checkedId == viewBinding.shareSocialRadio.getId()));
- AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
- builder.setTitle(R.string.share_label);
- builder.setView(viewBinding.getRoot());
setupOptions();
- builder.setPositiveButton(R.string.share_label, (dialog, id) -> {
+ viewBinding.shareButton.setOnClickListener((v) -> {
boolean includePlaybackPosition = viewBinding.sharePositionCheckbox.isChecked();
int position;
if (viewBinding.shareSocialRadio.isChecked()) {
@@ -76,9 +72,9 @@ public class ShareDialog extends DialogFragment {
.putBoolean(PREF_SHARE_EPISODE_START_AT, includePlaybackPosition)
.putInt(PREF_SHARE_EPISODE_TYPE, position)
.apply();
- }).setNegativeButton(R.string.cancel_label, (dialog, id) -> dialog.dismiss());
-
- return builder.create();
+ dismiss();
+ });
+ return viewBinding.getRoot();
}
private void setupOptions() {