session-android/app/src/huawei/kotlin/org/thoughtcrime/securesms/notifications/HuaweiPushService.kt

41 lines
1.3 KiB
Kotlin
Raw Normal View History

2023-07-25 07:19:41 +02:00
package org.thoughtcrime.securesms.notifications
import android.os.Bundle
import com.huawei.hms.push.HmsMessageService
import com.huawei.hms.push.RemoteMessage
import dagger.hilt.android.AndroidEntryPoint
2023-08-09 04:48:22 +02:00
import org.json.JSONException
2023-08-03 06:44:55 +02:00
import org.session.libsession.utilities.TextSecurePreferences
2023-08-04 06:06:09 +02:00
import org.session.libsignal.utilities.Base64
2023-07-25 07:19:41 +02:00
import org.session.libsignal.utilities.Log
2023-08-02 07:25:31 +02:00
import java.lang.Exception
2023-07-25 07:19:41 +02:00
import javax.inject.Inject
2023-08-06 14:52:39 +02:00
private val TAG = HuaweiPushService::class.java.simpleName
2023-08-04 06:06:09 +02:00
2023-07-25 07:19:41 +02:00
@AndroidEntryPoint
2023-08-06 14:52:39 +02:00
class HuaweiPushService: HmsMessageService() {
@Inject lateinit var pushRegistry: PushRegistry
@Inject lateinit var pushReceiver: PushReceiver
2023-08-02 07:25:31 +02:00
2023-08-04 06:06:09 +02:00
override fun onMessageReceived(message: RemoteMessage?) {
2023-08-09 04:48:22 +02:00
Log.d(TAG, "onMessageReceived")
message?.dataOfMap?.takeIf { it.isNotEmpty() }?.let(pushReceiver::onPush) ?:
2023-08-06 14:52:39 +02:00
pushReceiver.onPush(message?.data?.let(Base64::decode))
2023-08-02 07:25:31 +02:00
}
override fun onNewToken(token: String?) {
pushRegistry.register(token)
2023-08-02 07:25:31 +02:00
}
2023-07-25 07:19:41 +02:00
override fun onNewToken(token: String?, bundle: Bundle?) {
2023-08-04 06:06:09 +02:00
Log.d(TAG, "New HCM token: $token.")
2023-08-09 04:48:22 +02:00
pushRegistry.register(token)
2023-07-25 07:19:41 +02:00
}
2023-08-04 06:06:09 +02:00
2023-07-26 03:18:20 +02:00
override fun onDeletedMessages() {
2023-08-09 04:48:22 +02:00
Log.d(TAG, "onDeletedMessages")
pushRegistry.refresh(false)
2023-07-26 03:18:20 +02:00
}
}