Pegar filhos de objeto no Firebase com Kotlin

Olá, eu estou tentando criar uma aplicação em Kotlin usando Firebase, a estrutura do meu banco é essa:

image

Criei esses registros somente para testes, a ideia é que movements e workouts tenham muitos filhos e eu gostaria de pegar isso em 2 arrays. Eu pesquisei bastante sobre como fazer isso, e todos os resultados que eu encontrei me levavam a criar um listener para “escutar” se os dados foram alterados, eu gostaria somente de pegar os itens, mas ok, fiz esse listener. Pelo que eu entendi os dados só vão vir para a aplicação se o listener for ativado, no caso se os dados forem alterados, tanto que o onDataChange não está sendo executado. Gostaria de saber como eu posso pegar esses dados simplesmente?

Meu código:

package tk.thallyssonklein.kapp

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import com.google.firebase.database.*
//import kotlin.collections.MutableIterator

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        getDataFromServer()
    }

    fun getDataFromServer() {
        var database: FirebaseDatabase = FirebaseDatabase.getInstance()
        var movements: DatabaseReference = database.getReference("movements")
        //var workouts: DatabaseReference = database.getReference("workouts")

        //var childrenOfMovements: MutableIterator<DataSnapshot>

        var itemListener: ValueEventListener = object : ValueEventListener {
            override fun onDataChange(dataSnapshot: DataSnapshot) {
                if (dataSnapshot.exists()) {
                    for (data in dataSnapshot.children) {
                        println(data)
                    }
                }
            }

            override fun onCancelled(databaseError: DatabaseError) {
                println("Cancelled")
            }
        }

        movements.orderByKey().addListenerForSingleValueEvent(itemListener)
    }
}

Consegui resolver, o problema era as regras da base de dados. Eu não havia criado um meio de autentificação ou alterado as regras, logo não era possível ler ou escrever na base de dados.