From 723e80dae8e77b7b51fa6660bcb655e2c75b27ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jc=20Mi=C3=B1arro?= Date: Mon, 11 Nov 2024 11:02:03 +0100 Subject: [PATCH] Adding som logs --- .../android/push/delegate/PushDelegateProvider.kt | 1 + .../push/firebase/ChatFirebaseMessagingService.kt | 6 ++++++ .../push/firebase/FirebaseMessagingDelegate.kt | 14 +++++++++++--- .../push/huawei/ChatHuaweiMessagingService.kt | 6 ++++++ .../android/push/huawei/HuaweiMessagingDelegate.kt | 14 +++++++++++--- .../push/xiaomi/ChatXiaomiMessagingReceiver.kt | 6 ++++++ .../android/push/xiaomi/XiaomiMessagingDelegate.kt | 14 +++++++++++--- 7 files changed, 52 insertions(+), 9 deletions(-) diff --git a/stream-android-push-delegate/src/main/java/io/getstream/android/push/delegate/PushDelegateProvider.kt b/stream-android-push-delegate/src/main/java/io/getstream/android/push/delegate/PushDelegateProvider.kt index b5f4083..6de6206 100644 --- a/stream-android-push-delegate/src/main/java/io/getstream/android/push/delegate/PushDelegateProvider.kt +++ b/stream-android-push-delegate/src/main/java/io/getstream/android/push/delegate/PushDelegateProvider.kt @@ -72,6 +72,7 @@ public class PushDelegateProvider : ContentProvider() { logger.e(e) { "PushDelegate not created for '$this'" } null } + .also { logger.d { "PushDelegate created for '$this' ($it)" } } override fun query( uri: Uri, diff --git a/stream-android-push-firebase/src/main/java/io/getstream/android/push/firebase/ChatFirebaseMessagingService.kt b/stream-android-push-firebase/src/main/java/io/getstream/android/push/firebase/ChatFirebaseMessagingService.kt index 1cf834b..fb5861c 100644 --- a/stream-android-push-firebase/src/main/java/io/getstream/android/push/firebase/ChatFirebaseMessagingService.kt +++ b/stream-android-push-firebase/src/main/java/io/getstream/android/push/firebase/ChatFirebaseMessagingService.kt @@ -27,6 +27,12 @@ internal class ChatFirebaseMessagingService : FirebaseMessagingService() { logger.d { "[onFirebaseMessageReceived] remoteMessage: $remoteMessage" } try { FirebaseMessagingDelegate.handleRemoteMessage(remoteMessage) + .also { + when (it) { + true -> logger.d { "[onFirebaseMessageReceived] message handled successfully" } + false -> logger.d { "[onFirebaseMessageReceived] message was not handled" } + } + } } catch (exception: IllegalStateException) { logger.e(exception) { "[onFirebaseMessageReceived] error while handling remote message" } } finally { diff --git a/stream-android-push-firebase/src/main/java/io/getstream/android/push/firebase/FirebaseMessagingDelegate.kt b/stream-android-push-firebase/src/main/java/io/getstream/android/push/firebase/FirebaseMessagingDelegate.kt index c7c0691..2120477 100644 --- a/stream-android-push-firebase/src/main/java/io/getstream/android/push/firebase/FirebaseMessagingDelegate.kt +++ b/stream-android-push-firebase/src/main/java/io/getstream/android/push/firebase/FirebaseMessagingDelegate.kt @@ -20,12 +20,14 @@ import com.google.firebase.messaging.RemoteMessage import io.getstream.android.push.PushDevice import io.getstream.android.push.PushProvider import io.getstream.android.push.delegate.PushDelegateProvider +import io.getstream.log.StreamLog /** * Helper class for delegating Firebase push messages to the Stream Chat SDK. */ public object FirebaseMessagingDelegate { internal var fallbackProviderName: String? = null + private val logger = StreamLog.getLogger("Push:Firebase") /** * Handles [remoteMessage] from Firebase. @@ -37,12 +39,18 @@ public object FirebaseMessagingDelegate { */ @JvmStatic public fun handleRemoteMessage(remoteMessage: RemoteMessage): Boolean { - return PushDelegateProvider.delegates.any { - it.handlePushMessage( + logger.d { "[handleRemoteMessage] handling remote message: $remoteMessage" } + return PushDelegateProvider.delegates.any { pushDelegate -> + pushDelegate.handlePushMessage( metadata = remoteMessage.extractMetadata(), payload = remoteMessage.data, - ) + ).also { handled -> + if (handled) logger.d { "[handleRemoteMessage] message handled successfully by $pushDelegate" } + } } + .also { handled -> + if (!handled) logger.d { "[handleRemoteMessage] message was not handled by any Push Delete" } + } } /** diff --git a/stream-android-push-huawei/src/main/java/io/getstream/android/push/huawei/ChatHuaweiMessagingService.kt b/stream-android-push-huawei/src/main/java/io/getstream/android/push/huawei/ChatHuaweiMessagingService.kt index aba50e0..fbacaa8 100644 --- a/stream-android-push-huawei/src/main/java/io/getstream/android/push/huawei/ChatHuaweiMessagingService.kt +++ b/stream-android-push-huawei/src/main/java/io/getstream/android/push/huawei/ChatHuaweiMessagingService.kt @@ -27,6 +27,12 @@ internal class ChatHuaweiMessagingService : HmsMessageService() { logger.d { "[onHuaweiMessageReceived] remoteMessage: $remoteMessage" } try { HuaweiMessagingDelegate.handleRemoteMessage(remoteMessage) + .also { + when (it) { + true -> logger.d { "[onHuaweiMessageReceived] message handled successfully" } + false -> logger.d { "[onHuaweiMessageReceived] message was not handled" } + } + } } catch (exception: IllegalStateException) { logger.e(exception) { "[onHuaweiMessageReceived] error while handling remote message" } } finally { diff --git a/stream-android-push-huawei/src/main/java/io/getstream/android/push/huawei/HuaweiMessagingDelegate.kt b/stream-android-push-huawei/src/main/java/io/getstream/android/push/huawei/HuaweiMessagingDelegate.kt index 44db869..f715e89 100644 --- a/stream-android-push-huawei/src/main/java/io/getstream/android/push/huawei/HuaweiMessagingDelegate.kt +++ b/stream-android-push-huawei/src/main/java/io/getstream/android/push/huawei/HuaweiMessagingDelegate.kt @@ -20,6 +20,7 @@ import com.huawei.hms.push.RemoteMessage import io.getstream.android.push.PushDevice import io.getstream.android.push.PushProvider import io.getstream.android.push.delegate.PushDelegateProvider +import io.getstream.log.StreamLog import kotlin.jvm.Throws /** @@ -27,6 +28,7 @@ import kotlin.jvm.Throws */ public object HuaweiMessagingDelegate { internal var fallbackProviderName: String? = null + private val logger = StreamLog.getLogger("Push:Huawei") /** * Handles [remoteMessage] from Huawei. @@ -39,12 +41,18 @@ public object HuaweiMessagingDelegate { @Throws(IllegalStateException::class) @JvmStatic public fun handleRemoteMessage(remoteMessage: RemoteMessage): Boolean { - return PushDelegateProvider.delegates.any { - it.handlePushMessage( + logger.d { "[handleRemoteMessage] handling remote message: $remoteMessage" } + return PushDelegateProvider.delegates.any { pushDelegate -> + pushDelegate.handlePushMessage( metadata = remoteMessage.extractMetadata(), payload = remoteMessage.dataOfMap, - ) + ).also { handled -> + if (handled) logger.d { "[handleRemoteMessage] message handled successfully by $pushDelegate" } + } } + .also { handled -> + if (!handled) logger.d { "[handleRemoteMessage] message was not handled by any Push Delete" } + } } /** diff --git a/stream-android-push-xiaomi/src/main/java/io/getstream/android/push/xiaomi/ChatXiaomiMessagingReceiver.kt b/stream-android-push-xiaomi/src/main/java/io/getstream/android/push/xiaomi/ChatXiaomiMessagingReceiver.kt index 7b70914..7e95982 100644 --- a/stream-android-push-xiaomi/src/main/java/io/getstream/android/push/xiaomi/ChatXiaomiMessagingReceiver.kt +++ b/stream-android-push-xiaomi/src/main/java/io/getstream/android/push/xiaomi/ChatXiaomiMessagingReceiver.kt @@ -41,6 +41,12 @@ public class ChatXiaomiMessagingReceiver : PushMessageReceiver() { logger.i { "[onReceiveXiaomiPassThroughMessage] miPushMessage: $miPushMessage" } try { XiaomiMessagingDelegate.handleMiPushMessage(miPushMessage) + .also { + when (it) { + true -> logger.d { "[onReceivePassThroughMessage] message handled successfully" } + false -> logger.d { "[onReceivePassThroughMessage] message was not handled" } + } + } } catch (exception: IllegalStateException) { logger.e(exception) { "[onReceivePassThroughMessage] error while handling remote message" } } diff --git a/stream-android-push-xiaomi/src/main/java/io/getstream/android/push/xiaomi/XiaomiMessagingDelegate.kt b/stream-android-push-xiaomi/src/main/java/io/getstream/android/push/xiaomi/XiaomiMessagingDelegate.kt index c9a431f..83caa5f 100644 --- a/stream-android-push-xiaomi/src/main/java/io/getstream/android/push/xiaomi/XiaomiMessagingDelegate.kt +++ b/stream-android-push-xiaomi/src/main/java/io/getstream/android/push/xiaomi/XiaomiMessagingDelegate.kt @@ -25,12 +25,14 @@ import com.xiaomi.mipush.sdk.MiPushMessage import io.getstream.android.push.PushDevice import io.getstream.android.push.PushProvider import io.getstream.android.push.delegate.PushDelegateProvider +import io.getstream.log.StreamLog /** * Helper class for delegating Xiaomi push messages to the Stream Chat SDK. */ public object XiaomiMessagingDelegate { internal var fallbackProviderName: String? = null + private val logger = StreamLog.getLogger("Push:Xiaomi") private val mapAdapter: JsonAdapter> by lazy { Moshi.Builder() @@ -48,12 +50,18 @@ public object XiaomiMessagingDelegate { */ @JvmStatic public fun handleMiPushMessage(miPushMessage: MiPushMessage): Boolean { - return PushDelegateProvider.delegates.any { - it.handlePushMessage( + logger.d { "[handleRemoteMessage] handling remote message: $miPushMessage" } + return PushDelegateProvider.delegates.any { pushDelegate -> + pushDelegate.handlePushMessage( metadata = miPushMessage.extractMetadata(), payload = miPushMessage.contentMap, - ) + ).also { handled -> + if (handled) logger.d { "[handleRemoteMessage] message handled successfully by $pushDelegate" } + } } + .also { handled -> + if (!handled) logger.d { "[handleRemoteMessage] message was not handled by any Push Delete" } + } } /**