@@ -37,7 +37,7 @@ class TerningMessagingService : FirebaseMessagingService() {
3737 lateinit var navigatorProvider: NavigatorProvider
3838
3939 @Inject
40- lateinit var tracker : AmplitudeTracker
40+ lateinit var amplitudeTracker : AmplitudeTracker
4141
4242 override fun onNewToken (token : String ) {
4343 super .onNewToken(token)
@@ -48,23 +48,27 @@ class TerningMessagingService : FirebaseMessagingService() {
4848 override fun handleIntent (intent : Intent ? ) {
4949 super .handleIntent(intent)
5050
51- extractInformation(
52- title = intent?.getStringExtra(TITLE ),
53- body = intent?.getStringExtra(BODY ),
54- type = intent?.getStringExtra(TYPE ),
55- imageUrl = intent?.getStringExtra(IMAGE_URL )
56- )
51+ if (! isAppInForeground()) {
52+ extractInformation(
53+ title = intent?.getStringExtra(TITLE ),
54+ body = intent?.getStringExtra(BODY ),
55+ type = intent?.getStringExtra(TYPE ),
56+ imageUrl = intent?.getStringExtra(IMAGE_URL )
57+ )
58+ }
5759 }
5860
5961 override fun onMessageReceived (message : RemoteMessage ) {
6062 super .onMessageReceived(message)
6163
62- extractInformation(
63- title = message.data[TITLE ],
64- body = message.data[BODY ],
65- type = message.data[TYPE ],
66- imageUrl = message.data[IMAGE_URL ]
67- )
64+ if (isAppInForeground()) {
65+ extractInformation(
66+ title = message.data[TITLE ],
67+ body = message.data[BODY ],
68+ type = message.data[TYPE ],
69+ imageUrl = message.data[IMAGE_URL ]
70+ )
71+ }
6872 }
6973
7074 private fun extractInformation (
@@ -75,7 +79,7 @@ class TerningMessagingService : FirebaseMessagingService() {
7579 ) {
7680 if (title.isNullOrEmpty() || ! userRepository.getAlarmAvailable()) return
7781
78- tracker .track(
82+ amplitudeTracker .track(
7983 type = EventType .PUSH_NOTIFICATION ,
8084 name = " received"
8185 )
@@ -101,6 +105,7 @@ class TerningMessagingService : FirebaseMessagingService() {
101105 action = Intent .ACTION_VIEW
102106 data = deeplink.toUri()
103107 flags = Intent .FLAG_ACTIVITY_NEW_TASK or Intent .FLAG_ACTIVITY_CLEAR_TOP
108+ putExtra(FROM_NOTIFICATION , true )
104109 }
105110 val pendingIntent = PendingIntent .getActivity(
106111 this @TerningMessagingService,
@@ -169,5 +174,6 @@ class TerningMessagingService : FirebaseMessagingService() {
169174 private const val BODY : String = " body"
170175 private const val TYPE : String = " type"
171176 private const val IMAGE_URL : String = " imageUrl"
177+ const val FROM_NOTIFICATION : String = " fromNotification"
172178 }
173179}
0 commit comments