Skip to content

Commit 1d91cde

Browse files
committed
Fix notification Intent
1 parent de086d6 commit 1d91cde

2 files changed

Lines changed: 23 additions & 24 deletions

File tree

app/src/main/java/com/ismartcoding/plain/helpers/NotificationHelper.kt

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.ismartcoding.plain.helpers
22

3+
import android.Manifest
34
import android.app.Notification
45
import android.app.NotificationChannel
56
import android.app.NotificationManager
67
import android.app.PendingIntent
78
import android.content.Context
89
import android.content.Intent
10+
import androidx.annotation.RequiresPermission
911
import androidx.core.app.NotificationCompat
1012
import androidx.core.app.NotificationManagerCompat
1113
import androidx.core.app.RemoteInput
@@ -22,25 +24,15 @@ import com.ismartcoding.plain.ui.MainActivity
2224

2325
object 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()

app/src/main/java/com/ismartcoding/plain/services/AudioPlayerService.kt

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import com.ismartcoding.plain.enums.AudioAction
2626
import com.ismartcoding.plain.audio.AudioPlayer
2727
import com.ismartcoding.plain.enums.AudioServiceAction
2828
import com.ismartcoding.plain.enums.MediaPlayMode
29+
import com.ismartcoding.plain.ui.MainActivity
2930

3031
@OptIn(UnstableApi::class)
3132
class AudioPlayerService : MediaLibraryService() {
@@ -119,13 +120,17 @@ class AudioPlayerService : MediaLibraryService() {
119120
}
120121
val s = MediaLibrarySession.Builder(this, forwardingPlayer, object : MediaLibrarySession.Callback {
121122
}).setId(packageName)
122-
packageManager?.getLaunchIntentForPackage(packageName)?.let { sessionIntent ->
123-
s.setSessionActivity(
124-
PendingIntent.getActivity(
125-
this, 0, sessionIntent, PendingIntent.FLAG_IMMUTABLE
126-
)
127-
)
123+
val sessionIntent = Intent(this, MainActivity::class.java).apply {
124+
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
128125
}
126+
s.setSessionActivity(
127+
PendingIntent.getActivity(
128+
this,
129+
0,
130+
sessionIntent,
131+
PendingIntent.FLAG_IMMUTABLE,
132+
),
133+
)
129134
session = s.build()
130135
}
131136

0 commit comments

Comments
 (0)