Implemented pause functionality

This commit is contained in:
Kanahia 2024-06-10 15:11:20 +05:30
parent 1286a8d928
commit a6c97521a1
2 changed files with 21 additions and 5 deletions

View file

@ -28,7 +28,7 @@ import javax.inject.Inject
* create an instance of this fragment. * create an instance of this fragment.
*/ */
class PendingUploadsFragment : CommonsDaggerSupportFragment(), PendingUploadsContract.View, class PendingUploadsFragment : CommonsDaggerSupportFragment(), PendingUploadsContract.View,
PendingUploadsAdapter.Callback { PendingUploadsAdapter.Callback{
var isPendingIconsVisible = false var isPendingIconsVisible = false
// TODO: Rename and change types of parameters // TODO: Rename and change types of parameters
@ -141,6 +141,8 @@ class PendingUploadsFragment : CommonsDaggerSupportFragment(), PendingUploadsCon
binding.progressBarPending.progress = totalUploads-l.size binding.progressBarPending.progress = totalUploads-l.size
if (x == l.size) { if (x == l.size) {
uploadProgressActivity.setPausedIcon(true) uploadProgressActivity.setPausedIcon(true)
}else{
uploadProgressActivity.setPausedIcon(false)
} }
} }
} }
@ -200,10 +202,25 @@ class PendingUploadsFragment : CommonsDaggerSupportFragment(), PendingUploadsCon
//TODO("Not yet implemented") //TODO("Not yet implemented")
} }
fun restartUpload() { fun restartUploads() {
// TODO make the restart as in queue
var contribution = l.get(0) var contribution = l.get(0)
contribution.state = Contribution.STATE_QUEUED contribution.state = Contribution.STATE_QUEUED
pendingUploadsPresenter.saveContribution(contribution, this.requireContext().applicationContext) pendingUploadsPresenter.saveContribution(contribution, this.requireContext().applicationContext)
Timber.d("Restarting for %s", contribution.toString()) Timber.d("Restarting for %s", contribution.toString())
} }
fun pauseUploads() {
if (l != null){
l.forEach {
//Pause the upload in the global singleton
CommonsApplication.pauseUploads[it.pageId] = true
//Retain the paused state in DB
it.state = Contribution.STATE_PAUSED
pendingUploadsPresenter.saveContribution(it, this.requireContext().applicationContext)
}
}
}
} }

View file

@ -90,6 +90,7 @@ class UploadProgressActivity : BaseActivity() {
if (menu!!.findItem(R.id.pause_icon) == null) { if (menu!!.findItem(R.id.pause_icon) == null) {
menu!!.add(Menu.NONE, R.id.pause_icon, Menu.NONE, "Pause") menu!!.add(Menu.NONE, R.id.pause_icon, Menu.NONE, "Pause")
.setIcon(android.R.drawable.ic_media_pause).setOnMenuItemClickListener { .setIcon(android.R.drawable.ic_media_pause).setOnMenuItemClickListener {
pendingUploadsFragment!!.pauseUploads()
setPausedIcon(true) setPausedIcon(true)
true true
} }
@ -107,7 +108,7 @@ class UploadProgressActivity : BaseActivity() {
if (menu!!.findItem(R.id.resume_icon) == null) { if (menu!!.findItem(R.id.resume_icon) == null) {
menu!!.add(Menu.NONE, R.id.resume_icon, Menu.NONE, "Resume") menu!!.add(Menu.NONE, R.id.resume_icon, Menu.NONE, "Resume")
.setIcon(android.R.drawable.ic_media_play).setOnMenuItemClickListener { .setIcon(android.R.drawable.ic_media_play).setOnMenuItemClickListener {
pendingUploadsFragment!!.restartUpload() pendingUploadsFragment!!.restartUploads()
setPausedIcon(false) setPausedIcon(false)
true true
} }
@ -132,7 +133,6 @@ class UploadProgressActivity : BaseActivity() {
} }
} }
fun hidePendingIcons() { fun hidePendingIcons() {
isPendingIconsVisible = false isPendingIconsVisible = false
updateMenuItems(binding.uploadProgressViewPager.currentItem) updateMenuItems(binding.uploadProgressViewPager.currentItem)
@ -143,5 +143,4 @@ class UploadProgressActivity : BaseActivity() {
updateMenuItems(binding.uploadProgressViewPager.currentItem) updateMenuItems(binding.uploadProgressViewPager.currentItem)
} }
} }