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
|
|
|
}
|
|
|
|
|
2023-08-09 02:38:42 +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
|
|
|
}
|
|
|
|
}
|