feat: Download subs
This commit is contained in:
parent
95b2939532
commit
0d8a82568a
3 changed files with 56 additions and 2 deletions
|
@ -30,10 +30,13 @@ import ani.dantotsu.currActivity
|
||||||
import ani.dantotsu.databinding.BottomSheetSelectorBinding
|
import ani.dantotsu.databinding.BottomSheetSelectorBinding
|
||||||
import ani.dantotsu.databinding.ItemStreamBinding
|
import ani.dantotsu.databinding.ItemStreamBinding
|
||||||
import ani.dantotsu.databinding.ItemUrlBinding
|
import ani.dantotsu.databinding.ItemUrlBinding
|
||||||
|
import ani.dantotsu.download.DownloadedType
|
||||||
import ani.dantotsu.download.video.Helper
|
import ani.dantotsu.download.video.Helper
|
||||||
import ani.dantotsu.hideSystemBars
|
import ani.dantotsu.hideSystemBars
|
||||||
import ani.dantotsu.media.Media
|
import ani.dantotsu.media.Media
|
||||||
import ani.dantotsu.media.MediaDetailsViewModel
|
import ani.dantotsu.media.MediaDetailsViewModel
|
||||||
|
import ani.dantotsu.media.MediaType
|
||||||
|
import ani.dantotsu.media.SubtitleDownloader
|
||||||
import ani.dantotsu.navBarHeight
|
import ani.dantotsu.navBarHeight
|
||||||
import ani.dantotsu.others.Download.download
|
import ani.dantotsu.others.Download.download
|
||||||
import ani.dantotsu.parsers.Subtitle
|
import ani.dantotsu.parsers.Subtitle
|
||||||
|
@ -376,6 +379,45 @@ class SelectorDialogFragment : BottomSheetDialogFragment() {
|
||||||
} else {
|
} else {
|
||||||
binding.urlDownload.visibility = View.GONE
|
binding.urlDownload.visibility = View.GONE
|
||||||
}
|
}
|
||||||
|
val subtitles = extractor.subtitles
|
||||||
|
if (subtitles.isNotEmpty()) {
|
||||||
|
binding.urlSub.visibility = View.VISIBLE
|
||||||
|
} else {
|
||||||
|
binding.urlSub.visibility = View.GONE
|
||||||
|
}
|
||||||
|
binding.urlSub.setOnClickListener {
|
||||||
|
if (subtitles.isNotEmpty()) {
|
||||||
|
val subtitleNames = subtitles.map { it.language }
|
||||||
|
var subtitleToDownload: Subtitle? = null
|
||||||
|
val alertDialog = AlertDialog.Builder(context, R.style.MyPopup)
|
||||||
|
.setTitle("Download Subtitle")
|
||||||
|
.setSingleChoiceItems(
|
||||||
|
subtitleNames.toTypedArray(),
|
||||||
|
-1
|
||||||
|
) { _, which ->
|
||||||
|
subtitleToDownload = subtitles[which]
|
||||||
|
}
|
||||||
|
.setPositiveButton("Download") { dialog, _ ->
|
||||||
|
scope.launch {
|
||||||
|
if (subtitleToDownload != null) {
|
||||||
|
SubtitleDownloader.downloadSubtitle(
|
||||||
|
requireContext(),
|
||||||
|
subtitleToDownload!!.file.url,
|
||||||
|
DownloadedType(media!!.mainName(), media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]!!.number, MediaType.ANIME)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dialog.dismiss()
|
||||||
|
}
|
||||||
|
.setNegativeButton("Cancel") { dialog, _ ->
|
||||||
|
dialog.dismiss()
|
||||||
|
}
|
||||||
|
.show()
|
||||||
|
alertDialog.window?.setDimAmount(0.8f)
|
||||||
|
} else {
|
||||||
|
snackString("No Subtitles Available")
|
||||||
|
}
|
||||||
|
}
|
||||||
binding.urlDownload.setSafeOnClickListener {
|
binding.urlDownload.setSafeOnClickListener {
|
||||||
media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]!!.selectedExtractor =
|
media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]!!.selectedExtractor =
|
||||||
extractor.server.name
|
extractor.server.name
|
||||||
|
|
|
@ -182,7 +182,7 @@
|
||||||
android:id="@+id/animeRecentlyContainer"
|
android:id="@+id/animeRecentlyContainer"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/animeRecently"
|
android:id="@+id/animeRecently"
|
||||||
|
|
|
@ -65,7 +65,19 @@
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/urlSub"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:backgroundTint="#00FFFFFF"
|
||||||
|
android:src="@drawable/ic_round_subtitles_24"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:tint="?attr/colorOnBackground"
|
||||||
|
tools:ignore="ContentDescription,SpeakableTextPresentCheck"
|
||||||
|
tools:visibility="visible" />
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/urlDownload"
|
android:id="@+id/urlDownload"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue