fix(fdroid): Firebase-free stubs for expo-notifications

This commit is contained in:
Den
2026-06-03 03:06:37 -07:00
parent 0684f50606
commit a22fcb92e9

View File

@@ -0,0 +1,65 @@
package expo.modules.notifications.notifications.debug
import android.os.Build
import android.os.Bundle
import android.util.Log
import androidx.annotation.RequiresApi
import expo.modules.notifications.BuildConfig
import expo.modules.notifications.notifications.model.Notification
import java.util.function.Consumer
/**
* Patched version (Firebase-free) for F-Droid builds.
* logRemoteMessage() removed — no Firebase classes referenced.
*/
object DebugLogging {
@JvmStatic
fun logBundle(caller: String, bundleToLog: Bundle) {
if (!BuildConfig.DEBUG) {
return
}
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
return
}
Log.i("expo-notifications", "$caller:\n${bundleString(caller, bundleToLog, 0)}")
}
@RequiresApi(Build.VERSION_CODES.N)
private fun bundleString(ignoredCaller: String, bundleToLog: Bundle, indent: Int): String {
return buildString {
bundleToLog.keySet().forEach(
Consumer { key: String ->
val value = bundleToLog[key]
if (value is Bundle) {
append("${" ".repeat(indent)}${key}\n")
append(bundleString(ignoredCaller, value, indent + 2))
} else {
val stringValue = value?.toString() ?: "(null)"
append("${" ".repeat(indent)}$key: $stringValue\n")
}
}
)
}
}
fun logNotification(caller: String, notification: Notification) {
if (!BuildConfig.DEBUG) {
return
}
val logMessage =
"""
$caller:
notification.notificationRequest.content.title: ${notification.notificationRequest.content.title}
notification.notificationRequest.content.subText: ${notification.notificationRequest.content.subText}
notification.notificationRequest.content.text: ${notification.notificationRequest.content.text}
notification.notificationRequest.content.sound: ${notification.notificationRequest.content.soundName}
notification.notificationRequest.content.channelID: ${notification.notificationRequest.trigger.getNotificationChannel()}
notification.notificationRequest.content.body: ${notification.notificationRequest.content.body}
notification.notificationRequest.content.color: ${notification.notificationRequest.content.color}
notification.notificationRequest.content.vibrationPattern: ${notification.notificationRequest.content.vibrationPattern?.contentToString()}
notification.notificationRequest.identifier: ${notification.notificationRequest.identifier}
""".trimIndent()
Log.i("expo-notifications", logMessage)
}
}