Skip to content

Commit 157c61f

Browse files
committed
fix pending intents
Signed-off-by: alperozturk <[email protected]>
1 parent 59c18ad commit 157c61f

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

app/src/main/java/com/nextcloud/client/jobs/utils/SyncConflictManager.kt

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import android.app.Notification
1111
import android.app.PendingIntent
1212
import android.content.Context
1313
import android.content.Intent
14-
import android.os.Build
1514
import androidx.core.app.NotificationCompat
1615
import com.nextcloud.client.jobs.upload.FileUploadBroadcastReceiver
1716
import com.nextcloud.client.jobs.upload.FileUploadHelper
@@ -76,14 +75,20 @@ object SyncConflictManager {
7675
val intent = Intent(context, AuthenticatorActivity::class.java).apply {
7776
putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, operation.user.toPlatformAccount())
7877
putExtra(AuthenticatorActivity.EXTRA_ACTION, AuthenticatorActivity.ACTION_UPDATE_EXPIRED_TOKEN)
79-
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS or Intent.FLAG_FROM_BACKGROUND)
78+
addFlags(
79+
Intent.FLAG_ACTIVITY_NEW_TASK or
80+
Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS or
81+
Intent.FLAG_FROM_BACKGROUND
82+
)
83+
setClass(context, AuthenticatorActivity::class.java)
84+
setPackage(context.packageName)
8085
}
8186

8287
return PendingIntent.getActivity(
8388
context,
8489
System.currentTimeMillis().toInt(),
8590
intent,
86-
PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_IMMUTABLE
91+
PendingIntent.FLAG_IMMUTABLE
8792
)
8893
}
8994

@@ -94,18 +99,21 @@ object SyncConflictManager {
9499
operation.ocUploadId,
95100
Intent.FLAG_ACTIVITY_CLEAR_TOP,
96101
context
97-
)
98-
val flags = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
99-
PendingIntent.FLAG_MUTABLE else PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_IMMUTABLE
102+
).apply {
103+
setClass(context, ConflictsResolveActivity::class.java)
104+
setPackage(context.packageName)
105+
}
100106

101-
return PendingIntent.getActivity(context, SecureRandom().nextInt(), intent, flags)
107+
return PendingIntent.getActivity(context, SecureRandom().nextInt(), intent, PendingIntent.FLAG_IMMUTABLE)
102108
}
103109

104110
private fun cancelUploadPendingIntent(context: Context, operation: UploadFileOperation): PendingIntent {
105111
val intent = Intent(context, FileUploadBroadcastReceiver::class.java).apply {
106112
putExtra(FileUploadBroadcastReceiver.UPLOAD_ID, operation.ocUploadId)
107113
putExtra(FileUploadBroadcastReceiver.REMOTE_PATH, operation.file.remotePath)
108114
putExtra(FileUploadBroadcastReceiver.STORAGE_PATH, operation.file.storagePath)
115+
setClass(context, FileUploadBroadcastReceiver::class.java)
116+
setPackage(context.packageName)
109117
}
110118

111119
return PendingIntent.getBroadcast(
@@ -116,6 +124,7 @@ object SyncConflictManager {
116124
)
117125
}
118126

127+
@Suppress("ReturnCount", "ComplexCondition")
119128
private fun shouldShowConflictDialog(
120129
context: Context,
121130
operation: UploadFileOperation,

0 commit comments

Comments
 (0)