Fix Nextcloud News login error message

This commit is contained in:
Shinokuni 2020-07-29 12:20:06 +02:00
parent 1695c3baf6
commit 024aa04a60
2 changed files with 23 additions and 21 deletions

View File

@ -49,6 +49,7 @@ public abstract class ARepository<T> {
protected abstract T createAPI(); protected abstract T createAPI();
// TODO : replace Single by Completable
public abstract Single<Boolean> login(Account account, boolean insert); public abstract Single<Boolean> login(Account account, boolean insert);
public abstract Observable<Feed> sync(List<Feed> feeds); public abstract Observable<Feed> sync(List<Feed> feeds);

View File

@ -7,13 +7,6 @@ import android.util.TimingLogger;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; 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.Credentials;
import com.readrops.api.services.SyncResult; import com.readrops.api.services.SyncResult;
import com.readrops.api.services.SyncType; 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.NextNewsSyncData;
import com.readrops.api.services.nextcloudnews.json.NextNewsUser; import com.readrops.api.services.nextcloudnews.json.NextNewsUser;
import com.readrops.api.utils.UnknownFormatException; 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; import org.joda.time.LocalDateTime;
@ -59,9 +59,12 @@ public class NextNewsRepository extends ARepository<NextNewsAPI> {
NextNewsUser user = api.login(); NextNewsUser user = api.login();
emitter.onSuccess(user);
}).flatMap(user -> {
if (user != null) { if (user != null) {
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.setDisplayedName(user.getDisplayName());
account.setCurrentAccount(true); account.setCurrentAccount(true);
@ -74,8 +77,6 @@ public class NextNewsRepository extends ARepository<NextNewsAPI> {
} }
return Single.just(true); return Single.just(true);
} else
return Single.just(false);
}); });
} }