diff --git a/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt b/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt
index acd7b4d89..d34ef2d2d 100644
--- a/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt
+++ b/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt
@@ -7,6 +7,7 @@ import androidx.fragment.app.DialogFragment
import com.github.libretube.PIPED_FRONTEND_URL
import com.github.libretube.R
import com.github.libretube.YOUTUBE_FRONTEND_URL
+import com.github.libretube.databinding.DialogShareBinding
import com.github.libretube.db.DatabaseHolder
import com.github.libretube.db.obj.CustomInstance
import com.github.libretube.extensions.await
@@ -17,8 +18,9 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
class ShareDialog(
private val id: String,
private val isPlaylist: Boolean,
- private val position: Long = 0L
+ private val position: Long? = null
) : DialogFragment() {
+ private var binding: DialogShareBinding? = null
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
var shareOptions = arrayOf(
@@ -30,6 +32,14 @@ class ShareDialog(
// add instanceUrl option if custom instance frontend url available
if (instanceUrl != "") shareOptions += getString(R.string.instance)
+ if (position != null) {
+ binding = DialogShareBinding.inflate(layoutInflater)
+ binding!!.timeCodeSwitch.isChecked = PreferenceHelper.getBoolean(
+ PreferenceKeys.SHARE_WITH_TIME_CODE,
+ true
+ )
+ }
+
return MaterialAlertDialogBuilder(requireContext())
.setTitle(context?.getString(R.string.share))
.setItems(
@@ -43,11 +53,8 @@ class ShareDialog(
}
val path = if (!isPlaylist) "/watch?v=$id" else "/playlist?list=$id"
var url = "$host$path"
- if (PreferenceHelper.getBoolean(
- PreferenceKeys.SHARE_WITH_TIME_CODE,
- true
- )
- ) {
+
+ if (binding != null && binding!!.timeCodeSwitch.isChecked) {
url += "?t=$position"
}
@@ -61,6 +68,7 @@ class ShareDialog(
Intent.createChooser(intent, context?.getString(R.string.shareTo))
)
}
+ .setView(binding?.root)
.show()
}
diff --git a/app/src/main/res/layout/dialog_share.xml b/app/src/main/res/layout/dialog_share.xml
new file mode 100644
index 000000000..fe4005185
--- /dev/null
+++ b/app/src/main/res/layout/dialog_share.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d33f0b529..f51fca128 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -283,7 +283,7 @@
Error
Copied
Download succeeded
- Share with start time
+ Share with time code
Export Subscriptions
Skip buttons
Show buttons to skip to the next or previous video.