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 dffe1fcd..1437dbec 100644 --- a/app/src/main/java/com/readrops/app/repositories/ARepository.java +++ b/app/src/main/java/com/readrops/app/repositories/ARepository.java @@ -39,8 +39,12 @@ public abstract class ARepository { this.application = application; this.database = Database.getInstance(application); this.account = account; + + api = createAPI(); } + protected abstract T createAPI(); + public abstract Single login(Account account, boolean insert); public abstract Observable sync(List feeds); @@ -75,10 +79,9 @@ public abstract class ARepository { public Completable setItemReadState(Item item, boolean read) { return database.itemDao().setReadState(item.getId(), read ? 1 : 0, !item.isReadChanged() ? 1 : 0); - } - public Completable setAllItemsReadState(Boolean read) { + public Completable setAllItemsReadState(boolean read) { return database.itemDao().setAllItemsReadState(read ? 1 : 0, account.getId()); } @@ -93,7 +96,7 @@ public abstract class ARepository { protected void setFaviconUtils(List feeds) { Observable.create(emitter -> { for (Feed feed : feeds) { - setFavIconUtils(feed); + setFaviconUtils(feed); emitter.onNext(feed); } }).subscribeOn(Schedulers.io()) @@ -103,7 +106,7 @@ public abstract class ARepository { .subscribe(); } - protected void setFavIconUtils(Feed feed) throws IOException { + protected void setFaviconUtils(Feed feed) throws IOException { String favUrl; if (feed.getIconUrl() != null) @@ -130,7 +133,6 @@ public abstract class ARepository { if (palette.getMutedSwatch() != null) { feed.setBackgroundColor(palette.getMutedSwatch().getRgb()); } - } } diff --git a/app/src/main/java/com/readrops/app/repositories/FreshRSSRepository.java b/app/src/main/java/com/readrops/app/repositories/FreshRSSRepository.java index bf4b8883..8617b966 100644 --- a/app/src/main/java/com/readrops/app/repositories/FreshRSSRepository.java +++ b/app/src/main/java/com/readrops/app/repositories/FreshRSSRepository.java @@ -38,9 +38,14 @@ public class FreshRSSRepository extends ARepository { public FreshRSSRepository(@NonNull Application application, @Nullable Account account) { super(application, account); + } + @Override + protected FreshRSSAPI createAPI() { if (account != null) - api = new FreshRSSAPI(account.toCredentials()); + return new FreshRSSAPI(account.toCredentials()); + + return null; } @Override diff --git a/app/src/main/java/com/readrops/app/repositories/LocalFeedRepository.java b/app/src/main/java/com/readrops/app/repositories/LocalFeedRepository.java index c84407ef..9b26277e 100644 --- a/app/src/main/java/com/readrops/app/repositories/LocalFeedRepository.java +++ b/app/src/main/java/com/readrops/app/repositories/LocalFeedRepository.java @@ -46,6 +46,11 @@ public class LocalFeedRepository extends ARepository { super(application, account); } + @Override + protected Void createAPI() { + return null; + } + @Override public Single login(Account account, boolean insert) { return null; @@ -128,8 +133,6 @@ public class LocalFeedRepository extends ARepository { insertionResult.setInsertionError(getErrorFromException(queryResult.getException())); insertionResults.add(insertionResult); - } else { - // error 304 } } catch (Exception e) { if (e instanceof IOException) @@ -192,7 +195,7 @@ public class LocalFeedRepository extends ARepository { if (database.feedDao().feedExists(dbFeed.getUrl(), account.getId())) return null; // feed already inserted - setFavIconUtils(dbFeed); + setFaviconUtils(dbFeed); dbFeed.setAccountId(account.getId()); // we need empty headers to query the feed just after, without any 304 result 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 d94b00e0..7027b9da 100644 --- a/app/src/main/java/com/readrops/app/repositories/NextNewsRepository.java +++ b/app/src/main/java/com/readrops/app/repositories/NextNewsRepository.java @@ -46,9 +46,14 @@ public class NextNewsRepository extends ARepository { public NextNewsRepository(@NonNull Application application, @Nullable Account account) { super(application, account); + } + @Override + protected NextNewsAPI createAPI() { if (account != null) - api = new NextNewsAPI(account.toCredentials()); + return new NextNewsAPI(account.toCredentials()); + + return null; } @Override