@@ -21,7 +21,6 @@ import android.content.Context
2121import android.content.Intent
2222import android.content.res.Resources
2323import android.graphics.BitmapFactory
24- import android.media.RingtoneManager
2524import android.text.TextUtils
2625import androidx.core.app.NotificationCompat
2726import androidx.work.Worker
@@ -49,7 +48,7 @@ import com.owncloud.android.utils.theme.ViewThemeUtils
4948import 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