Skip to content

Commit d4b738f

Browse files
fix(lint): check permission before launching a notification
Signed-off-by: Andy Scherzinger <[email protected]>
1 parent 7519945 commit d4b738f

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

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

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*/
77
package com.nextcloud.client.jobs
88

9+
import android.Manifest
910
import android.accounts.AuthenticatorException
1011
import android.accounts.OperationCanceledException
1112
import android.app.Activity
@@ -14,10 +15,12 @@ import android.app.PendingIntent
1415
import android.content.BroadcastReceiver
1516
import android.content.Context
1617
import android.content.Intent
18+
import android.content.pm.PackageManager
1719
import android.graphics.BitmapFactory
1820
import android.media.RingtoneManager
1921
import android.text.TextUtils
2022
import android.util.Base64
23+
import androidx.core.app.ActivityCompat
2124
import androidx.core.app.NotificationCompat
2225
import androidx.core.app.NotificationManagerCompat
2326
import androidx.work.Worker
@@ -224,8 +227,17 @@ class NotificationWork constructor(
224227
}
225228
.build()
226229
)
227-
val notificationManager = NotificationManagerCompat.from(context)
228-
notificationManager.notify(notification.getNotificationId(), notificationBuilder.build())
230+
231+
if (ActivityCompat.checkSelfPermission(
232+
context,
233+
Manifest.permission.POST_NOTIFICATIONS
234+
) != PackageManager.PERMISSION_GRANTED
235+
) {
236+
Log_OC.w(this, "Missing permission to post notifications")
237+
} else {
238+
val notificationManager = NotificationManagerCompat.from(context)
239+
notificationManager.notify(notification.getNotificationId(), notificationBuilder.build())
240+
}
229241
}
230242

231243
@Suppress("TooGenericExceptionCaught") // legacy code

0 commit comments

Comments
 (0)