From 024aa04a60419a390ef08e0f703d726197cef75a Mon Sep 17 00:00:00 2001 From: Shinokuni Date: Wed, 29 Jul 2020 12:20:06 +0200 Subject: [PATCH] Fix Nextcloud News login error message --- .../app/repositories/ARepository.java | 1 + .../app/repositories/NextNewsRepository.java | 43 ++++++++++--------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/com/readrops/app/repositories/ARepository.java b/app/src/main/java/com/readrops/app/repositories/ARepository.java index 746b6dd9..56b07c2e 100644 --- a/app/src/main/java/com/readrops/app/repositories/ARepository.java +++ b/app/src/main/java/com/readrops/app/repositories/ARepository.java @@ -49,6 +49,7 @@ public abstract class ARepository { protected abstract T createAPI(); + // TODO : replace Single by Completable public abstract Single login(Account account, boolean insert); public abstract Observable sync(List feeds); diff --git a/app/src/main/java/com/readrops/app/repositories/NextNewsRepository.java b/app/src/main/java/com/readrops/app/repositories/NextNewsRepository.java index 89ec9bf5..018d6a7d 100644 --- a/app/src/main/java/com/readrops/app/repositories/NextNewsRepository.java +++ b/app/src/main/java/com/readrops/app/repositories/NextNewsRepository.java @@ -7,13 +7,6 @@ import android.util.TimingLogger; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.readrops.app.utils.FeedInsertionResult; -import com.readrops.app.utils.ParsingResult; -import com.readrops.app.utils.Utils; -import com.readrops.db.entities.Feed; -import com.readrops.db.entities.Folder; -import com.readrops.db.entities.Item; -import com.readrops.db.entities.account.Account; import com.readrops.api.services.Credentials; import com.readrops.api.services.SyncResult; import com.readrops.api.services.SyncType; @@ -21,6 +14,13 @@ import com.readrops.api.services.nextcloudnews.NextNewsAPI; import com.readrops.api.services.nextcloudnews.NextNewsSyncData; import com.readrops.api.services.nextcloudnews.json.NextNewsUser; import com.readrops.api.utils.UnknownFormatException; +import com.readrops.app.utils.FeedInsertionResult; +import com.readrops.app.utils.ParsingResult; +import com.readrops.app.utils.Utils; +import com.readrops.db.entities.Feed; +import com.readrops.db.entities.Folder; +import com.readrops.db.entities.Item; +import com.readrops.db.entities.account.Account; import org.joda.time.LocalDateTime; @@ -59,23 +59,24 @@ public class NextNewsRepository extends ARepository { NextNewsUser user = api.login(); - emitter.onSuccess(user); - }).flatMap(user -> { if (user != null) { - account.setDisplayedName(user.getDisplayName()); - account.setCurrentAccount(true); + emitter.onSuccess(user); + } else { + emitter.onError(new Exception("Login failed. Please check your credentials and your Nextcloud News setup.")); + } + }).flatMap(user -> { + account.setDisplayedName(user.getDisplayName()); + account.setCurrentAccount(true); - if (insert) { - return database.accountDao().insert(account) - .flatMap(id -> { - account.setId(id.intValue()); - return Single.just(true); - }); - } + if (insert) { + return database.accountDao().insert(account) + .flatMap(id -> { + account.setId(id.intValue()); + return Single.just(true); + }); + } - return Single.just(true); - } else - return Single.just(false); + return Single.just(true); }); }