11package com.ismartcoding.plain.helpers
22
3+ import android.Manifest
34import android.app.Notification
45import android.app.NotificationChannel
56import android.app.NotificationManager
67import android.app.PendingIntent
78import android.content.Context
89import android.content.Intent
10+ import androidx.annotation.RequiresPermission
911import androidx.core.app.NotificationCompat
1012import androidx.core.app.NotificationManagerCompat
1113import androidx.core.app.RemoteInput
@@ -22,25 +24,15 @@ import com.ismartcoding.plain.ui.MainActivity
2224
2325object NotificationHelper {
2426 private fun createContentIntent (context : Context ): PendingIntent {
25- val launchIntent = context.packageManager.getLaunchIntentForPackage(context.packageName)
26- return if (launchIntent != null ) {
27- launchIntent.flags =
28- Intent .FLAG_ACTIVITY_NEW_TASK or Intent .FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
29- PendingIntent .getActivity(
30- context,
31- 0 ,
32- launchIntent,
33- PendingIntent .FLAG_IMMUTABLE ,
34- )
35- } else {
36- val fallbackIntent = Intent (context, MainActivity ::class .java)
37- PendingIntent .getActivity(
38- context,
39- 0 ,
40- fallbackIntent,
41- PendingIntent .FLAG_IMMUTABLE ,
42- )
27+ val intent = Intent (context, MainActivity ::class .java).apply {
28+ flags = Intent .FLAG_ACTIVITY_NEW_TASK or Intent .FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
4329 }
30+ return PendingIntent .getActivity(
31+ context,
32+ 0 ,
33+ intent,
34+ PendingIntent .FLAG_IMMUTABLE ,
35+ )
4436 }
4537
4638 fun generateId (): Int {
@@ -75,6 +67,7 @@ object NotificationHelper {
7567 }
7668 }
7769
70+ @RequiresPermission(Manifest .permission.POST_NOTIFICATIONS )
7871 fun sendPeerMessageNotification (context : Context , peerId : String , peerName : String , messageText : String ) {
7972 if (! Permission .POST_NOTIFICATIONS .can(context)) return
8073 ensureChatChannel()
@@ -117,6 +110,7 @@ object NotificationHelper {
117110 NotificationManagerCompat .from(context).notify(notificationId, notification)
118111 }
119112
113+ @RequiresPermission(Manifest .permission.POST_NOTIFICATIONS )
120114 fun sendWebLoginNotification (context : Context , browserName : String , browserVersion : String , osName : String , osVersion : String , clientIp : String ) {
121115 if (! Permission .POST_NOTIFICATIONS .can(context)) return
122116 ensureDefaultChannel()
0 commit comments