fix(fdroid): Firebase-free stubs for expo-notifications
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user