[Firebase] Implement Mobidziennik push service.

This commit is contained in:
Kuba Szczodrzyński
2020-01-16 09:27:30 +01:00
parent 5c4d6ed140
commit 6a54e7fef7
22 changed files with 299 additions and 41 deletions

View File

@ -133,7 +133,7 @@ open class FirebaseService : zzc() {
data class Message(val messageId: String?, private val json: JsonObject) {
val data = json.deepCopy()
val from by lazy { s("from") ?: "" }
val from by lazy { s("test.from") ?: s("from") ?: "" }
val to by lazy { s("google.to") }
val messageType by lazy { s("message_type") }
val collapseKey by lazy { s("collapse_key") }

View File

@ -4,6 +4,7 @@
package pl.szczodrzynski.edziennik.data.firebase
import android.content.Context
import android.util.Log
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@ -31,6 +32,10 @@ class MyFirebaseService : FirebaseService(), CoroutineScope {
override fun onMessageReceived(message: Message) {
launch(Dispatchers.Default) {
Log.d(TAG, "Message received from ${message.from}: $message")
app.getSharedPreferences("firebase_service_log", Context.MODE_PRIVATE).edit().apply {
putString(System.currentTimeMillis().toString(), message.toString())
apply()
}
val profiles = app.db.profileDao().profilesForSyncNow
when (message.from) {
"640759989760" -> SzkolnyAppFirebase(app, profiles, message)