@@ -27,6 +27,7 @@ import com.google.android.material.snackbar.Snackbar
2727import com.nextcloud.android.common.ui.theme.utils.ColorRole
2828import com.nextcloud.android.sso.helper.SingleAccountHelper
2929import com.nextcloud.android.sso.model.SingleSignOnAccount
30+ import com.owncloud.android.lib.common.utils.Log_OC
3031import io.reactivex.Single
3132import io.reactivex.android.schedulers.AndroidSchedulers
3233import io.reactivex.schedulers.Schedulers
@@ -44,6 +45,7 @@ import it.niedermann.owncloud.notes.shared.model.ApiVersion
4445import it.niedermann.owncloud.notes.shared.model.ISyncCallback
4546import it.niedermann.owncloud.notes.shared.util.ExtendedFabUtil
4647import it.niedermann.owncloud.notes.shared.util.rx.DisposableSet
48+ import okio.IOException
4749import java.util.concurrent.TimeUnit
4850
4951class NoteDirectEditFragment : BaseNoteFragment (), Branded {
@@ -158,11 +160,19 @@ class NoteDirectEditFragment : BaseNoteFragment(), Branded {
158160 Log .d(TAG , " createAndLoadNote() called" )
159161 val noteCreateDisposable = Single
160162 .fromCallable {
161- notesApi.createNote(newNote).execute().body()!!
163+ try {
164+ val response = notesApi.createNote(newNote).execute()
165+ response.body()
166+ } catch (e: IOException ) {
167+ Log_OC .w(TAG , " Cant able to create a note: $e " )
168+ null
169+ }
162170 }
163- .map { createdNote ->
164- repo.updateRemoteId(newNote.id, createdNote.remoteId)
165- repo.getNoteById(newNote.id)
171+ .flatMap { createdNote ->
172+ createdNote?.let {
173+ repo.updateRemoteId(newNote.id, it.remoteId)
174+ Single .fromCallable { repo.getNoteById(newNote.id) }
175+ }
166176 }
167177 .subscribeOn(Schedulers .io())
168178 .observeOn(AndroidSchedulers .mainThread())
0 commit comments