diff --git a/tpstreams-android-player/src/main/java/com/tpstreams/player/DownloadActionBottomSheet.kt b/tpstreams-android-player/src/main/java/com/tpstreams/player/DownloadActionBottomSheet.kt index 8775047..d2962e0 100644 --- a/tpstreams-android-player/src/main/java/com/tpstreams/player/DownloadActionBottomSheet.kt +++ b/tpstreams-android-player/src/main/java/com/tpstreams/player/DownloadActionBottomSheet.kt @@ -15,6 +15,7 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.button.MaterialButton import com.tpstreams.player.download.DownloadTracker import androidx.media3.exoplayer.offline.Download +import android.widget.ImageView class DownloadActionBottomSheet : BottomSheetDialogFragment() { @@ -45,47 +46,45 @@ class DownloadActionBottomSheet : BottomSheetDialogFragment() { private fun updateUI() { val view = view ?: return - val titleTextView = view.findViewById(R.id.title_text) - val messageTextView = view.findViewById(R.id.message_text) val downloadedLayout = view.findViewById(R.id.downloaded_layout) val downloadingLayout = view.findViewById(R.id.downloading_layout) when (downloadState) { Download.STATE_COMPLETED -> { - titleTextView.text = getString(R.string.delete_download_title) - messageTextView.text = getString(R.string.delete_download_message) downloadedLayout.visibility = View.VISIBLE downloadingLayout.visibility = View.GONE } Download.STATE_DOWNLOADING -> { - titleTextView.text = getString(R.string.downloading_title) - messageTextView.text = getString(R.string.downloading_message) downloadedLayout.visibility = View.GONE downloadingLayout.visibility = View.VISIBLE - val pauseResumeButton = view.findViewById(R.id.pause_resume_button) - pauseResumeButton.text = getString(R.string.pause_download) - pauseResumeButton.setOnClickListener { + val pauseResumeContainer = view.findViewById(R.id.pause_resume_container) + val pauseResumeIcon = view.findViewById(R.id.pause_resume_icon) + val pauseResumeText = view.findViewById(R.id.pause_resume_text) + + pauseResumeIcon.setImageResource(R.drawable.ic_pause_download) + pauseResumeText.text = getString(R.string.pause_download) + pauseResumeContainer.setOnClickListener { listener?.onPauseDownloadConfirmed() dismiss() } } Download.STATE_STOPPED -> { - titleTextView.text = getString(R.string.paused_download_title) - messageTextView.text = getString(R.string.paused_download_message) downloadedLayout.visibility = View.GONE downloadingLayout.visibility = View.VISIBLE - val pauseResumeButton = view.findViewById(R.id.pause_resume_button) - pauseResumeButton.text = getString(R.string.resume_download) - pauseResumeButton.setOnClickListener { + val pauseResumeContainer = view.findViewById(R.id.pause_resume_container) + val pauseResumeIcon = view.findViewById(R.id.pause_resume_icon) + val pauseResumeText = view.findViewById(R.id.pause_resume_text) + + pauseResumeIcon.setImageResource(R.drawable.ic_resume_download) + pauseResumeText.text = getString(R.string.resume_download) + pauseResumeContainer.setOnClickListener { listener?.onResumeDownloadConfirmed() dismiss() } } else -> { - titleTextView.text = getString(R.string.download_status_title) - messageTextView.text = getString(R.string.download_status_message) downloadedLayout.visibility = View.GONE downloadingLayout.visibility = View.VISIBLE } @@ -122,16 +121,16 @@ class DownloadActionBottomSheet : BottomSheetDialogFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - // Setup delete button for downloaded content - val deleteButton = view.findViewById(R.id.delete_button) - deleteButton.setOnClickListener { + // Setup delete container for downloaded content + val downloadedDeleteContainer = view.findViewById(R.id.downloaded_delete_container) + downloadedDeleteContainer.setOnClickListener { listener?.onDeleteDownloadConfirmed() dismiss() } - // Setup cancel button for downloading content - val cancelButton = view.findViewById(R.id.cancel_button) - cancelButton.setOnClickListener { + // Setup delete container for downloading content + val deleteContainer = view.findViewById(R.id.delete_container) + deleteContainer.setOnClickListener { listener?.onCancelDownloadConfirmed() dismiss() } diff --git a/tpstreams-android-player/src/main/java/com/tpstreams/player/DownloadActions.kt b/tpstreams-android-player/src/main/java/com/tpstreams/player/DownloadActions.kt index 2a8ba14..249254c 100644 --- a/tpstreams-android-player/src/main/java/com/tpstreams/player/DownloadActions.kt +++ b/tpstreams-android-player/src/main/java/com/tpstreams/player/DownloadActions.kt @@ -113,7 +113,7 @@ class DownloadActions(private val view: TPStreamsPlayerView) { return when { downloadTracker.isDownloaded(assetId) -> "Downloaded" downloadTracker.isDownloading(assetId) -> "Downloading" - downloadTracker.isPaused(assetId) -> "Paused" + downloadTracker.isPaused(assetId) -> "Downloading Paused" else -> "Download" } } diff --git a/tpstreams-android-player/src/main/res/drawable/ic_delete.xml b/tpstreams-android-player/src/main/res/drawable/ic_delete.xml new file mode 100644 index 0000000..0d2e7fc --- /dev/null +++ b/tpstreams-android-player/src/main/res/drawable/ic_delete.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/tpstreams-android-player/src/main/res/drawable/ic_pause_download.xml b/tpstreams-android-player/src/main/res/drawable/ic_pause_download.xml new file mode 100644 index 0000000..e374cdb --- /dev/null +++ b/tpstreams-android-player/src/main/res/drawable/ic_pause_download.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/tpstreams-android-player/src/main/res/drawable/ic_resume_download.xml b/tpstreams-android-player/src/main/res/drawable/ic_resume_download.xml new file mode 100644 index 0000000..50d2cce --- /dev/null +++ b/tpstreams-android-player/src/main/res/drawable/ic_resume_download.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/tpstreams-android-player/src/main/res/layout/layout_download_action_bottom_sheet.xml b/tpstreams-android-player/src/main/res/layout/layout_download_action_bottom_sheet.xml index a19c740..f24f5a5 100644 --- a/tpstreams-android-player/src/main/res/layout/layout_download_action_bottom_sheet.xml +++ b/tpstreams-android-player/src/main/res/layout/layout_download_action_bottom_sheet.xml @@ -3,8 +3,8 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical" android:background="@drawable/bg_bottom_sheet" + android:orientation="vertical" android:paddingBottom="24dp"> @@ -16,49 +16,44 @@ android:layout_marginBottom="16dp" android:background="#CCCCCC" /> - - - - - - - + - + android:background="?attr/selectableItemBackground" + android:clickable="true" + android:focusable="true" + android:orientation="horizontal" + android:paddingTop="10dp" + android:paddingBottom="10dp"> + + + + + @@ -66,32 +61,70 @@ android:id="@+id/downloading_layout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" - android:visibility="gone" android:layout_marginStart="16dp" - android:layout_marginEnd="16dp"> - + android:layout_marginEnd="16dp" + android:orientation="vertical" + android:visibility="gone"> + - - - - + + + + + + + + + android:background="?attr/selectableItemBackground" + android:clickable="true" + android:focusable="true" + android:orientation="horizontal" + android:paddingTop="10dp" + android:paddingBottom="10dp"> + + + + + \ No newline at end of file diff --git a/tpstreams-android-player/src/main/res/values/strings.xml b/tpstreams-android-player/src/main/res/values/strings.xml index d9f8e93..c61b2d5 100644 --- a/tpstreams-android-player/src/main/res/values/strings.xml +++ b/tpstreams-android-player/src/main/res/values/strings.xml @@ -28,16 +28,16 @@ Video download notifications Delete Download Are you sure you want to delete this downloaded video? - DELETE + Delete from downloads Downloading Your video is currently downloading Download Paused Your download has been paused Download Status Manage your download - PAUSE - RESUME - CANCEL + Pause + Resume + Cancel Playback speed