Skip to content

Commit

Permalink
Adding som logs
Browse files Browse the repository at this point in the history
  • Loading branch information
JcMinarro committed Nov 11, 2024
1 parent baac213 commit 723e80d
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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" }
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,15 @@ 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

/**
* Helper class for delegating Huawei push messages to the Stream Chat SDK.
*/
public object HuaweiMessagingDelegate {
internal var fallbackProviderName: String? = null
private val logger = StreamLog.getLogger("Push:Huawei")

/**
* Handles [remoteMessage] from Huawei.
Expand All @@ -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" }
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<MutableMap<String, String>> by lazy {
Moshi.Builder()
Expand All @@ -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" }
}
}

/**
Expand Down

0 comments on commit 723e80d

Please sign in to comment.