diff --git a/app/src/main/java/fr/free/nrw/commons/upload/PendingUploadsFragment.kt b/app/src/main/java/fr/free/nrw/commons/upload/PendingUploadsFragment.kt index 644e2b8f3..bb46414e0 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/PendingUploadsFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/PendingUploadsFragment.kt @@ -28,7 +28,7 @@ import javax.inject.Inject * create an instance of this fragment. */ class PendingUploadsFragment : CommonsDaggerSupportFragment(), PendingUploadsContract.View, - PendingUploadsAdapter.Callback { + PendingUploadsAdapter.Callback{ var isPendingIconsVisible = false // TODO: Rename and change types of parameters @@ -141,6 +141,8 @@ class PendingUploadsFragment : CommonsDaggerSupportFragment(), PendingUploadsCon binding.progressBarPending.progress = totalUploads-l.size if (x == l.size) { uploadProgressActivity.setPausedIcon(true) + }else{ + uploadProgressActivity.setPausedIcon(false) } } } @@ -200,10 +202,25 @@ class PendingUploadsFragment : CommonsDaggerSupportFragment(), PendingUploadsCon //TODO("Not yet implemented") } - fun restartUpload() { + fun restartUploads() { + // TODO make the restart as in queue var contribution = l.get(0) contribution.state = Contribution.STATE_QUEUED pendingUploadsPresenter.saveContribution(contribution, this.requireContext().applicationContext) 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) + } + } + } + + } \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadProgressActivity.kt b/app/src/main/java/fr/free/nrw/commons/upload/UploadProgressActivity.kt index 4b23fb75f..268eae53a 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadProgressActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadProgressActivity.kt @@ -90,6 +90,7 @@ class UploadProgressActivity : BaseActivity() { if (menu!!.findItem(R.id.pause_icon) == null) { menu!!.add(Menu.NONE, R.id.pause_icon, Menu.NONE, "Pause") .setIcon(android.R.drawable.ic_media_pause).setOnMenuItemClickListener { + pendingUploadsFragment!!.pauseUploads() setPausedIcon(true) true } @@ -107,7 +108,7 @@ class UploadProgressActivity : BaseActivity() { if (menu!!.findItem(R.id.resume_icon) == null) { menu!!.add(Menu.NONE, R.id.resume_icon, Menu.NONE, "Resume") .setIcon(android.R.drawable.ic_media_play).setOnMenuItemClickListener { - pendingUploadsFragment!!.restartUpload() + pendingUploadsFragment!!.restartUploads() setPausedIcon(false) true } @@ -132,7 +133,6 @@ class UploadProgressActivity : BaseActivity() { } } - fun hidePendingIcons() { isPendingIconsVisible = false updateMenuItems(binding.uploadProgressViewPager.currentItem) @@ -143,5 +143,4 @@ class UploadProgressActivity : BaseActivity() { updateMenuItems(binding.uploadProgressViewPager.currentItem) } - }