Skip to content

Commit daac5ff

Browse files
committed
Fixed the registration of delivered and sent receivers
1 parent af43829 commit daac5ff

4 files changed

Lines changed: 26 additions & 23 deletions

File tree

android/app/src/main/java/com/httpsms/FirebaseMessagingService.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
137137
return Result.failure()
138138
}
139139

140+
Receiver.register(applicationContext)
140141
val parts = getMessageParts(applicationContext, message)
141142
if (parts.size == 1) {
142143
return handleSingleMessage(message)

android/app/src/main/java/com/httpsms/MainActivity.kt

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ class MainActivity : AppCompatActivity() {
5959
setCardContent(this)
6060
registerListeners()
6161
refreshToken(this)
62-
registerReceivers(this)
6362

6463
startStickyNotification(this)
6564
scheduleHeartbeatWorker(this)
@@ -87,26 +86,6 @@ class MainActivity : AppCompatActivity() {
8786
appVersionView.text = format(getString(R.string.app_version), BuildConfig.VERSION_NAME)
8887
}
8988

90-
private fun registerReceivers(context: Context) {
91-
if(sentReceiver == null) {
92-
Timber.d("registering [sent] receiver for intent [${SmsManagerService.sentAction()}]")
93-
sentReceiver = SentReceiver()
94-
context.registerReceiver(
95-
sentReceiver,
96-
IntentFilter(SmsManagerService.sentAction())
97-
)
98-
}
99-
100-
if(deliveredReceiver == null) {
101-
Timber.d("registering [delivered] receiver for intent [${SmsManagerService.deliveredAction()}]")
102-
deliveredReceiver = DeliveredReceiver()
103-
context.registerReceiver(
104-
deliveredReceiver,
105-
IntentFilter(SmsManagerService.deliveredAction())
106-
)
107-
}
108-
}
109-
11089
private fun setCardContent(context: Context) {
11190
val titleText = findViewById<TextView>(R.id.cardPhoneNumber)
11291
titleText.text = PhoneNumberUtils.formatNumber(Settings.getSIM1PhoneNumber(this), Locale.getDefault().country)

android/app/src/main/java/com/httpsms/Receiver.kt

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,33 @@
11
package com.httpsms
22

33
import android.content.Context
4+
import android.content.IntentFilter
45
import timber.log.Timber
56

6-
77
object Receiver {
8+
private var sentReceiver: SentReceiver? = null;
9+
private var deliveredReceiver: DeliveredReceiver? = null;
10+
11+
fun register(context: Context) {
12+
if(sentReceiver == null) {
13+
Timber.d("registering [sent] receiver for intent [${SmsManagerService.sentAction()}]")
14+
sentReceiver = SentReceiver()
15+
context.registerReceiver(
16+
sentReceiver,
17+
IntentFilter(SmsManagerService.sentAction())
18+
)
19+
}
20+
21+
if(deliveredReceiver == null) {
22+
Timber.d("registering [delivered] receiver for intent [${SmsManagerService.deliveredAction()}]")
23+
deliveredReceiver = DeliveredReceiver()
24+
context.registerReceiver(
25+
deliveredReceiver,
26+
IntentFilter(SmsManagerService.deliveredAction())
27+
)
28+
}
29+
}
30+
831
fun isValid(context: Context, messageId: String?): Boolean {
932
if (messageId == null) {
1033
Timber.e("cannot handle event because the message ID is null")

android/settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ dependencyResolutionManagement {
1212
mavenCentral()
1313
}
1414
}
15-
rootProject.name = "HttpSMS"
15+
rootProject.name = "httpSMS"
1616
include ':app'

0 commit comments

Comments
 (0)