Replace application by context in repositories

This commit is contained in:
Shinokuni 2020-02-01 21:41:31 +01:00
parent c50c8a96e8
commit 2e29ef2509
4 changed files with 27 additions and 27 deletions

View File

@ -1,21 +1,21 @@
package com.readrops.app.repositories; package com.readrops.app.repositories;
import android.app.Application; import android.content.Context;
import android.content.Intent; import android.content.Intent;
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.feedscolors.FeedColorsKt;
import com.readrops.app.utils.feedscolors.FeedsColorsIntentService;
import com.readrops.readropsdb.Database; import com.readrops.readropsdb.Database;
import com.readrops.readropsdb.entities.Feed; import com.readrops.readropsdb.entities.Feed;
import com.readrops.readropsdb.entities.Folder; import com.readrops.readropsdb.entities.Folder;
import com.readrops.readropsdb.entities.Item; import com.readrops.readropsdb.entities.Item;
import com.readrops.readropsdb.entities.account.Account; import com.readrops.readropsdb.entities.account.Account;
import com.readrops.readropsdb.entities.account.AccountType; import com.readrops.readropsdb.entities.account.AccountType;
import com.readrops.app.utils.FeedInsertionResult;
import com.readrops.app.utils.ParsingResult;
import com.readrops.app.utils.feedscolors.FeedColorsKt;
import com.readrops.app.utils.feedscolors.FeedsColorsIntentService;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -30,15 +30,15 @@ import static com.readrops.app.utils.ReadropsKeys.FEEDS;
public abstract class ARepository<T> { public abstract class ARepository<T> {
protected Application application; protected Context context;
protected Database database; protected Database database;
protected Account account; protected Account account;
protected T api; protected T api;
protected ARepository(@NonNull Application application, @Nullable Account account) { protected ARepository(@NonNull Context context, @Nullable Account account) {
this.application = application; this.context = context;
this.database = Database.getInstance(application); this.database = Database.getInstance(context);
this.account = account; this.account = account;
api = createAPI(); api = createAPI();
@ -157,26 +157,26 @@ public abstract class ARepository<T> {
} }
protected void setFeedsColors(List<Feed> feeds) { protected void setFeedsColors(List<Feed> feeds) {
Intent intent = new Intent(application, FeedsColorsIntentService.class); Intent intent = new Intent(context, FeedsColorsIntentService.class);
intent.putParcelableArrayListExtra(FEEDS, new ArrayList<>(feeds)); intent.putParcelableArrayListExtra(FEEDS, new ArrayList<>(feeds));
application.startService(intent); context.startService(intent);
} }
public static ARepository repositoryFactory(Account account, AccountType accountType, Application application) throws Exception { public static ARepository repositoryFactory(Account account, AccountType accountType, Context context) throws Exception {
switch (accountType) { switch (accountType) {
case LOCAL: case LOCAL:
return new LocalFeedRepository(application, account); return new LocalFeedRepository(context, account);
case NEXTCLOUD_NEWS: case NEXTCLOUD_NEWS:
return new NextNewsRepository(application, account); return new NextNewsRepository(context, account);
case FRESHRSS: case FRESHRSS:
return new FreshRSSRepository(application, account); return new FreshRSSRepository(context, account);
default: default:
throw new Exception("account type not supported"); throw new Exception("account type not supported");
} }
} }
public static ARepository repositoryFactory(Account account, Application application) throws Exception { public static ARepository repositoryFactory(Account account, Context context) throws Exception {
return ARepository.repositoryFactory(account, account.getAccountType(), application); return ARepository.repositoryFactory(account, account.getAccountType(), context);
} }
} }

View File

@ -1,6 +1,6 @@
package com.readrops.app.repositories; package com.readrops.app.repositories;
import android.app.Application; import android.content.Context;
import android.util.Log; import android.util.Log;
import android.util.TimingLogger; import android.util.TimingLogger;
@ -34,8 +34,8 @@ public class FreshRSSRepository extends ARepository<FreshRSSAPI> {
private static final String TAG = FreshRSSRepository.class.getSimpleName(); private static final String TAG = FreshRSSRepository.class.getSimpleName();
public FreshRSSRepository(@NonNull Application application, @Nullable Account account) { public FreshRSSRepository(@NonNull Context context, @Nullable Account account) {
super(application, account); super(context, account);
} }
@Override @Override

View File

@ -1,7 +1,7 @@
package com.readrops.app.repositories; package com.readrops.app.repositories;
import android.accounts.NetworkErrorException; import android.accounts.NetworkErrorException;
import android.app.Application; import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -42,8 +42,8 @@ public class LocalFeedRepository extends ARepository<Void> {
private static final String TAG = LocalFeedRepository.class.getSimpleName(); private static final String TAG = LocalFeedRepository.class.getSimpleName();
public LocalFeedRepository(@NonNull Application application, @Nullable Account account) { public LocalFeedRepository(@NonNull Context context, @Nullable Account account) {
super(application, account); super(context, account);
} }
@Override @Override
@ -173,7 +173,7 @@ public class LocalFeedRepository extends ARepository<Void> {
database.feedDao().updateHeaders(dbFeed.getEtag(), dbFeed.getLastModified(), dbFeed.getId()); database.feedDao().updateHeaders(dbFeed.getEtag(), dbFeed.getLastModified(), dbFeed.getId());
Collections.sort(items, Item::compareTo); Collections.sort(items, Item::compareTo);
int maxItems = Integer.parseInt(SharedPreferencesManager.readString(application, SharedPreferencesManager.SharedPrefKey.ITEMS_TO_PARSE_MAX_NB)); int maxItems = Integer.parseInt(SharedPreferencesManager.readString(context, SharedPreferencesManager.SharedPrefKey.ITEMS_TO_PARSE_MAX_NB));
if (maxItems > 0 && items.size() > maxItems) if (maxItems > 0 && items.size() > maxItems)
items = items.subList(items.size() - maxItems, items.size()); items = items.subList(items.size() - maxItems, items.size());

View File

@ -1,6 +1,6 @@
package com.readrops.app.repositories; package com.readrops.app.repositories;
import android.app.Application; import android.content.Context;
import android.database.sqlite.SQLiteConstraintException; import android.database.sqlite.SQLiteConstraintException;
import android.util.TimingLogger; import android.util.TimingLogger;
@ -37,8 +37,8 @@ public class NextNewsRepository extends ARepository<NextNewsAPI> {
private static final String TAG = NextNewsRepository.class.getSimpleName(); private static final String TAG = NextNewsRepository.class.getSimpleName();
public NextNewsRepository(@NonNull Application application, @Nullable Account account) { public NextNewsRepository(@NonNull Context context, @Nullable Account account) {
super(application, account); super(context, account);
} }
@Override @Override