meili-epfl/Meili

View on GitHub
app/src/main/java/com/github/epfl/meili/database/FirebaseStorageService.kt

Summary

Maintainability
A
0 mins
Test Coverage
D
60%
package com.github.epfl.meili.database

import android.net.Uri
import com.google.firebase.storage.FirebaseStorage

object FirebaseStorageService: StorageService {

    var storageProvider: () -> FirebaseStorage = { FirebaseStorage.getInstance() }

    override fun uploadBytes(remotePath: String, byteArray: ByteArray, onSuccessCallback: () -> Unit, onFailureCallback: () -> Unit) {
        storageProvider().getReference(remotePath).putBytes(byteArray)
            .addOnSuccessListener { onSuccessCallback() }
            .addOnFailureListener { onFailureCallback() }
    }
    override fun getDownloadUrl(remotePath: String, onSuccessListener: (Uri) -> Unit, onFailureListener: (Exception) -> Unit) {
        storageProvider().getReference(remotePath).downloadUrl
                .addOnSuccessListener(onSuccessListener)
                .addOnFailureListener(onFailureListener)
    }
}