Код: Выделить всё
private fun setData() {
val task = UploadDataTask()
task.setOnUploadFinishedListener(object: UploadDataTask.OnUploadFinishedListener{
override fun uploadFinished() {
// Do something
}
override fun uploadFailed() {
// Do something
}
})
}
private class UploadDataTask: AsyncTask() {
private var onUploadFinishedListener: OnUploadFinishedListener? = null
fun setOnUploadFinishedListener(listener: OnUploadFinishedListener) {
onUploadFinishedListener = listener
}
override fun doInBackground(vararg params: Void?): Void? {
val map = hashMapOf(
UID to firebaseUser.uid
)
firebaseFirestore.collection(USERS)
.document(firebaseUser.uid)
.set(map)
.addOnSuccessListener {
if(onUploadFinishedListener != null)
onUploadFinishedListener!!.uploadFinished()
}
.addOnFailureListener {
if(onUploadFinishedListener != null)
onUploadFinishedListener!!.uploadFailed()
}
return null
}
interface OnUploadFinishedListener {
fun uploadFinished()
fun uploadFailed()
}
}
< /code>
Это отлично работает, но есть одно исключение. Когда я хочу загрузить данные в Firestore, но нет никакого подключения к Интернету, ни onsuccesslistener Подробнее здесь: https://stackoverflow.com/questions/588 ... connection
Мобильная версия