Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ package com.getcode.notifications
import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.media.RingtoneManager
import android.os.Build
import androidx.core.app.NotificationCompat
Expand All @@ -26,6 +28,7 @@ import com.getcode.util.resources.ResourceHelper
import com.getcode.util.resources.ResourceType
import com.getcode.utils.ErrorUtils
import com.getcode.utils.installationId
import com.getcode.view.MainActivity
import com.google.firebase.Firebase
import com.google.firebase.installations.installations
import com.google.firebase.messaging.FirebaseMessagingService
Expand Down Expand Up @@ -183,6 +186,7 @@ class CodePushMessagingService : FirebaseMessagingService(),
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setSmallIcon(R.drawable.ic_code_logo_outline)
.setAutoCancel(true)
.setContentIntent(buildContentIntent(type))

notificationManager.notify(title.hashCode(), notificationBuilder.build())
}
Expand All @@ -207,6 +211,19 @@ class CodePushMessagingService : FirebaseMessagingService(),
}
}

private fun Context.buildContentIntent(type: NotificationType): PendingIntent {
val launchIntent = Intent(this, MainActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
}

return PendingIntent.getActivity(
this,
type.ordinal,
launchIntent,
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
}


private fun NotificationManager.getActiveNotification(notificationId: Int): Notification? {
val barNotifications = getActiveNotifications()
Expand Down