From c7bf1b2c0182b5cf3b21da1676ecf6472751afd4 Mon Sep 17 00:00:00 2001 From: parneet-guraya Date: Wed, 10 Jan 2024 01:59:22 +0530 Subject: [PATCH] remove class level notification property Signed-off-by: parneet-guraya --- .../talk/jobs/UploadAndShareFilesWorker.kt | 24 +++++++++++-------- .../nextcloud/talk/utils/NotificationUtils.kt | 1 + 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/jobs/UploadAndShareFilesWorker.kt b/app/src/main/java/com/nextcloud/talk/jobs/UploadAndShareFilesWorker.kt index 03015fa59b7..4b6271632cf 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/UploadAndShareFilesWorker.kt +++ b/app/src/main/java/com/nextcloud/talk/jobs/UploadAndShareFilesWorker.kt @@ -2,7 +2,9 @@ * Nextcloud Talk application * * @author Marcel Hibbe + * @author Parneet Singh * Copyright (C) 2021-2022 Marcel Hibbe + * Copyright (C) 2024-2025 Parneet Singh * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,7 +24,6 @@ package com.nextcloud.talk.jobs import android.Manifest import android.app.Activity -import android.app.Notification import android.app.NotificationManager import android.app.PendingIntent import android.content.Context @@ -85,7 +86,6 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa private var mNotifyManager: NotificationManager? = null private var mBuilder: NotificationCompat.Builder? = null - private lateinit var notification: Notification private var notificationId: Int = 0 lateinit var roomToken: String @@ -187,12 +187,12 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa } override fun onTransferProgress(percentage: Int) { - notification = mBuilder!! + val progressUpdateNotification = mBuilder!! .setProgress(HUNDRED_PERCENT, percentage, false) .setContentText(getNotificationContentText(percentage)) .build() - mNotifyManager!!.notify(notificationId, notification) + mNotifyManager!!.notify(notificationId, progressUpdateNotification) } private fun initNotificationSetup() { @@ -205,7 +205,7 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa } private fun initNotificationWithPercentage() { - notification = mBuilder!! + val initNotification = mBuilder!! .setContentTitle(context.resources.getString(R.string.nc_upload_in_progess)) .setContentText(getNotificationContentText(ZERO_PERCENT)) .setSmallIcon(R.drawable.upload_white) @@ -216,9 +216,8 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa .setContentIntent(getIntentToOpenConversation()) .build() - notificationId = SystemClock.uptimeMillis().toInt() - mNotifyManager!!.notify(notificationId, notification) + mNotifyManager!!.notify(notificationId, initNotification) // only need one summary notification but multiple upload worker can call it more than once but it is safe // because of the same notification object config and id. makeSummaryNotification() @@ -227,7 +226,8 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa private fun makeSummaryNotification() { // summary notification encapsulating the group of notifications val summaryNotification = NotificationCompat.Builder( - context, NotificationUtils.NotificationChannels + context, + NotificationUtils.NotificationChannels .NOTIFICATION_CHANNEL_UPLOADS.name ).setSmallIcon(R.drawable.upload_white) .setGroup(NotificationUtils.KEY_UPLOAD_GROUP) @@ -239,7 +239,10 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa private fun getActiveUploadNotifications(): Int? { // filter out active notifications that are upload notifications using group - return mNotifyManager?.activeNotifications?.filter { notification.group == NotificationUtils.KEY_UPLOAD_GROUP }?.size + return mNotifyManager?.activeNotifications?.filter { + it.notification.group == NotificationUtils + .KEY_UPLOAD_GROUP + }?.size } private fun cancelNotification() { @@ -295,7 +298,8 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa fileName ) val failureNotification = NotificationCompat.Builder( - context, NotificationUtils.NotificationChannels + context, + NotificationUtils.NotificationChannels .NOTIFICATION_CHANNEL_UPLOADS.name ) .setContentTitle(failureTitle) diff --git a/app/src/main/java/com/nextcloud/talk/utils/NotificationUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/NotificationUtils.kt index 3cc4fd9aeb9..c96fa18c2c3 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/NotificationUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/NotificationUtils.kt @@ -70,6 +70,7 @@ object NotificationUtils { // notification group keys const val KEY_UPLOAD_GROUP = "com.nextcloud.talk.utils.KEY_UPLOAD_GROUP" const val GROUP_SUMMARY_NOTIFICATION_ID = -1 + @TargetApi(Build.VERSION_CODES.O) private fun createNotificationChannel( context: Context,