Only show download button when user is allow to download

Fix #75
This commit is contained in:
Jarne Demeulemeester 2022-01-21 17:39:28 +01:00
parent 4b2dd6c672
commit dca9902e10
No known key found for this signature in database
GPG key ID: 65C6006F2032DD14
4 changed files with 31 additions and 7 deletions

View file

@ -211,12 +211,24 @@ class MediaInfoFragment : Fragment() {
binding.downloadButton.isEnabled = !downloaded
// Download icon
val downloadDrawable = when (downloaded) {
true -> R.drawable.ic_download_filled
false -> R.drawable.ic_download
when (canDownload) {
true -> {
binding.downloadButton.isVisible = true
binding.downloadButton.isEnabled = !downloaded
// Download icon
val downloadDrawable = when (downloaded) {
true -> R.drawable.ic_download_filled
false -> R.drawable.ic_download
}
binding.downloadButton.setImageResource(downloadDrawable)
}
false -> {
binding.downloadButton.isVisible = false
}
}
binding.downloadButton.setImageResource(downloadDrawable)
binding.name.text = item.name
binding.originalTitle.text = item.originalTitle
if (dateString.isEmpty()) {

View file

@ -39,6 +39,7 @@ constructor(
val dateString: String,
val played: Boolean,
val favorite: Boolean,
val canDownload: Boolean,
val downloaded: Boolean,
val downloadEpisode: Boolean,
val available: Boolean,
@ -57,6 +58,7 @@ constructor(
private var dateString: String = ""
var played: Boolean = false
var favorite: Boolean = false
private var canDownload = false
private var downloaded: Boolean = false
private var downloadEpisode: Boolean = false
private var available: Boolean = true
@ -74,6 +76,7 @@ constructor(
dateString = getDateString(tempItem)
played = tempItem.userData?.played == true
favorite = tempItem.userData?.isFavorite == true
canDownload = tempItem.canDownload == true
downloaded = isItemDownloaded(downloadDatabase, episodeId)
uiState.emit(
UiState.Normal(
@ -82,6 +85,7 @@ constructor(
dateString,
played,
favorite,
canDownload,
downloaded,
downloadEpisode,
available,
@ -107,6 +111,7 @@ constructor(
dateString,
played,
favorite,
canDownload,
downloaded,
downloadEpisode,
available,

View file

@ -48,6 +48,7 @@ constructor(
val seasons: List<BaseItemDto>,
val played: Boolean,
val favorite: Boolean,
val canDownload: Boolean,
val downloaded: Boolean,
val available: Boolean,
) : UiState()
@ -72,6 +73,7 @@ constructor(
var seasons: List<BaseItemDto> = emptyList()
var played: Boolean = false
var favorite: Boolean = false
private var canDownload: Boolean = false
private var downloaded: Boolean = false
private var downloadMedia: Boolean = false
private var available: Boolean = true
@ -95,6 +97,7 @@ constructor(
dateString = getDateString(tempItem)
played = tempItem.userData?.played ?: false
favorite = tempItem.userData?.isFavorite ?: false
canDownload = tempItem.canDownload == true
downloaded = isItemDownloaded(downloadDatabase, itemId)
if (itemType == "Series") {
nextUp = getNextUp(itemId)
@ -114,6 +117,7 @@ constructor(
seasons,
played,
favorite,
canDownload,
downloaded,
available
)
@ -155,6 +159,7 @@ constructor(
seasons,
played,
favorite,
canDownload,
downloaded,
available
)

View file

@ -183,7 +183,8 @@
android:background="@drawable/button_accent_background"
android:contentDescription="@string/download_button_description"
android:padding="12dp"
android:src="@drawable/ic_download" />
android:src="@drawable/ic_download"
android:visibility="gone" />
<ImageButton
android:id="@+id/delete_button"
@ -193,7 +194,8 @@
android:background="@drawable/button_accent_background"
android:contentDescription="@string/delete_button_description"
android:padding="12dp"
android:src="@drawable/ic_trash" />
android:src="@drawable/ic_trash"
android:visibility="gone" />
</LinearLayout>
<LinearLayout