diff --git a/app/src/main/java/com/github/libretube/extensions/ToID.kt b/app/src/main/java/com/github/libretube/extensions/ToID.kt index 286e3ba42..1da0cb053 100644 --- a/app/src/main/java/com/github/libretube/extensions/ToID.kt +++ b/app/src/main/java/com/github/libretube/extensions/ToID.kt @@ -1,13 +1,18 @@ package com.github.libretube.extensions import com.github.libretube.ui.dialogs.ShareDialog.Companion.YOUTUBE_FRONTEND_URL +import com.github.libretube.ui.dialogs.ShareDialog.Companion.YOUTUBE_MUSIC_URL +import com.github.libretube.ui.dialogs.ShareDialog.Companion.YOUTUBE_SHORT_URL /** - * format a Piped route to an ID + * format a full YouTube url or a path to a video/channel/playlist ID */ fun String.toID(): String { return this - .replace(YOUTUBE_FRONTEND_URL, "") + // remove any youtube origins from urls + .removePrefix(YOUTUBE_FRONTEND_URL) + .removePrefix(YOUTUBE_MUSIC_URL) + .removePrefix(YOUTUBE_SHORT_URL) .replace("/watch?v=", "") // videos .replace("/channel/", "") // channels .replace("/playlist?list=", "") // playlists diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt index 1b4fe6cbf..4adabea05 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt @@ -149,6 +149,7 @@ class ShareDialog : DialogFragment() { companion object { const val YOUTUBE_FRONTEND_URL = "https://www.youtube.com" + const val YOUTUBE_MUSIC_URL = "https://music.youtube.com" const val YOUTUBE_SHORT_URL = "https://youtu.be" const val PIPED_FRONTEND_URL = "https://piped.video" }