Skip to content

Commit 9e26761

Browse files
Merge pull request #16592 from nextcloud/backport/16387/stable-3.36
[stable-3.36] make media folder detection worker silent
2 parents 46b5065 + c355ba4 commit 9e26761

File tree

1 file changed

+22
-13
lines changed

1 file changed

+22
-13
lines changed

app/src/main/java/com/nextcloud/client/jobs/MediaFoldersDetectionWork.kt

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import android.content.Context
2121
import android.content.Intent
2222
import android.content.res.Resources
2323
import android.graphics.BitmapFactory
24-
import android.media.RingtoneManager
2524
import android.text.TextUtils
2625
import androidx.core.app.NotificationCompat
2726
import androidx.work.Worker
@@ -49,7 +48,7 @@ import com.owncloud.android.utils.theme.ViewThemeUtils
4948
import java.util.Random
5049

5150
@Suppress("LongParameterList") // dependencies injection
52-
class MediaFoldersDetectionWork constructor(
51+
class MediaFoldersDetectionWork(
5352
private val context: Context,
5453
params: WorkerParameters,
5554
private val resources: Resources,
@@ -195,13 +194,15 @@ class MediaFoldersDetectionWork constructor(
195194
@Suppress("LongMethod")
196195
private fun sendNotification(contentTitle: String, subtitle: String, user: User, path: String, type: Int) {
197196
val notificationId = randomIdGenerator.nextInt()
198-
val context = context
199-
val intent = Intent(context, SyncedFoldersActivity::class.java)
200-
intent.putExtra(NOTIFICATION_ID, notificationId)
201-
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
202-
intent.putExtra(NotificationWork.KEY_NOTIFICATION_ACCOUNT, user.accountName)
203-
intent.putExtra(KEY_MEDIA_FOLDER_PATH, path)
204-
intent.putExtra(KEY_MEDIA_FOLDER_TYPE, type)
197+
198+
val intent = Intent(context, SyncedFoldersActivity::class.java).apply {
199+
putExtra(NOTIFICATION_ID, notificationId)
200+
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
201+
putExtra(NotificationWork.KEY_NOTIFICATION_ACCOUNT, user.accountName)
202+
putExtra(KEY_MEDIA_FOLDER_PATH, path)
203+
putExtra(KEY_MEDIA_FOLDER_TYPE, type)
204+
}
205+
205206
val pendingIntent = PendingIntent.getActivity(
206207
context,
207208
0,
@@ -217,41 +218,49 @@ class MediaFoldersDetectionWork constructor(
217218
.setSubText(user.accountName)
218219
.setContentTitle(contentTitle)
219220
.setContentText(subtitle)
220-
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
221221
.setAutoCancel(true)
222+
.setSound(null)
223+
.setVibrate(null)
224+
.setSilent(true)
222225
.setContentIntent(pendingIntent)
223226

224227
viewThemeUtils.androidx.themeNotificationCompatBuilder(context, notificationBuilder)
225228

226-
val disableDetection = Intent(context, NotificationReceiver::class.java)
227-
disableDetection.putExtra(NOTIFICATION_ID, notificationId)
228-
disableDetection.action = DISABLE_DETECTION_CLICK
229+
val disableDetection = Intent(context, NotificationReceiver::class.java).apply {
230+
putExtra(NOTIFICATION_ID, notificationId)
231+
action = DISABLE_DETECTION_CLICK
232+
}
233+
229234
val disableIntent = PendingIntent.getBroadcast(
230235
context,
231236
notificationId,
232237
disableDetection,
233238
PendingIntent.FLAG_CANCEL_CURRENT or PendingIntent.FLAG_IMMUTABLE
234239
)
240+
235241
notificationBuilder.addAction(
236242
NotificationCompat.Action(
237243
R.drawable.ic_close,
238244
context.getString(R.string.disable_new_media_folder_detection_notifications),
239245
disableIntent
240246
)
241247
)
248+
242249
val configureIntent = PendingIntent.getActivity(
243250
context,
244251
notificationId,
245252
intent,
246253
PendingIntent.FLAG_CANCEL_CURRENT or PendingIntent.FLAG_IMMUTABLE
247254
)
255+
248256
notificationBuilder.addAction(
249257
NotificationCompat.Action(
250258
R.drawable.ic_settings,
251259
context.getString(R.string.configure_new_media_folder_detection_notifications),
252260
configureIntent
253261
)
254262
)
263+
255264
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
256265
notificationManager.notify(notificationId, notificationBuilder.build())
257266
}

0 commit comments

Comments
 (0)