Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ class FileUploadBroadcastReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
MainApp.getAppComponent().inject(this)

if (intent.action == UploadBroadcastAction.CancelOrRemove::class.simpleName) {
cancelUpload(context, intent)
if (intent.action == UploadBroadcastAction.PauseAndCancel::class.simpleName) {
pauseAndCancel(context, intent)
}
}

@Suppress("ReturnCount")
private fun cancelUpload(context: Context, intent: Intent) {
private fun pauseAndCancel(context: Context, intent: Intent) {
val uploadId = intent.getLongExtra(UPLOAD_ID, -1L)
if (uploadId == -1L) {
return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,23 @@ import com.owncloud.android.R
import com.owncloud.android.operations.UploadFileOperation

sealed class UploadBroadcastAction {
data class CancelOrRemove(val operation: UploadFileOperation) : UploadBroadcastAction() {
fun cancelAction(context: Context): NotificationCompat.Action = NotificationCompat.Action(
data class PauseAndCancel(val operation: UploadFileOperation) : UploadBroadcastAction() {

/**
* Updates upload status to CANCELLED
*/
fun pauseAction(context: Context): NotificationCompat.Action = NotificationCompat.Action(
R.drawable.ic_cancel,
context.getString(R.string.common_cancel),
context.getString(R.string.pause_upload),
getBroadcast(context, false)
)

fun removeAction(context: Context): NotificationCompat.Action = NotificationCompat.Action(
/**
* Removes the upload completely
*/
fun cancelAction(context: Context): NotificationCompat.Action = NotificationCompat.Action(
R.drawable.ic_delete,
context.getString(R.string.remove_upload),
context.getString(R.string.cancel_upload),
getBroadcast(context, true)
)

Expand All @@ -35,7 +42,7 @@ sealed class UploadBroadcastAction {
putExtra(FileUploadBroadcastReceiver.ACCOUNT_NAME, operation.user.accountName)
putExtra(FileUploadBroadcastReceiver.REMOTE_PATH, operation.remotePath)
putExtra(FileUploadBroadcastReceiver.REMOVE, remove)
action = CancelOrRemove::class.simpleName
action = PauseAndCancel::class.simpleName

setClass(context, FileUploadBroadcastReceiver::class.java)
setPackage(context.packageName)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ class UploadNotificationManager(private val context: Context, viewThemeUtils: Vi
setContentText(progressText)
setOngoing(false)
clearActions()
addAction(UploadBroadcastAction.CancelOrRemove(operation).cancelAction(context))
addAction(UploadBroadcastAction.CancelOrRemove(operation).removeAction(context))
addAction(UploadBroadcastAction.PauseAndCancel(operation).pauseAction(context))
addAction(UploadBroadcastAction.PauseAndCancel(operation).cancelAction(context))
setContentIntent(startIntent)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ object UploadErrorNotificationManager {
)
}

addAction(UploadBroadcastAction.CancelOrRemove(operation).cancelAction(context))
addAction(UploadBroadcastAction.PauseAndCancel(operation).pauseAction(context))

addAction(UploadBroadcastAction.CancelOrRemove(operation).removeAction(context))
addAction(UploadBroadcastAction.PauseAndCancel(operation).cancelAction(context))

result.code.takeIf { it == ResultCode.UNAUTHORIZED }?.let {
setContentIntent(credentialPendingIntent(context, operation))
Expand Down
5 changes: 4 additions & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1394,7 +1394,10 @@
<string name="secure_share_not_set_up">Secure sharing is not set up for this user</string>
<string name="share_not_allowed_when_file_drop">Resharing is not allowed during secure file drop</string>
<string name="prefs_category_sync">Sync</string>
<string name="remove_upload">Remove</string>

<string name="pause_upload">Pause</string>
<string name="cancel_upload">Cancel</string>

<string name="internal_two_way_sync">Internal two way sync</string>
<string name="prefs_two_way_sync_summary">Manage internal folders for two way sync</string>
<string name="internal_two_way_sync_not_yet">Not yet, soon to be synced</string>
Expand Down
Loading