1 package com.moiseum.wolnelektury.view.book.list;
3 import android.support.annotation.StringRes;
5 import com.moiseum.wolnelektury.R;
6 import com.moiseum.wolnelektury.base.DataProvider;
7 import com.moiseum.wolnelektury.connection.models.BookModel;
8 import com.moiseum.wolnelektury.connection.models.ReadingStateModel;
9 import com.moiseum.wolnelektury.connection.services.BooksService;
11 import java.util.List;
17 public enum BookListType {
21 public DataProvider<List<BookModel>, BooksService> getDataProvider() {
22 return new DownloadedBooksDataProvider();
26 public boolean isDeletable() {
31 public boolean isSearchable() {
36 public boolean isPageable() {
41 public String getNameForTracker() {
42 return "DownloadedList";
46 public int getActivityTitle() {
47 return R.string.nav_downloaded;
51 public int getEmptyListText() {
52 return R.string.downloaded_empty_list;
58 public DataProvider<List<BookModel>, BooksService> getDataProvider() {
59 return new AudiobooksDataProvider();
63 public boolean isDeletable() {
68 public boolean isSearchable() {
73 public boolean isPageable() {
78 public String getNameForTracker() {
79 return "AudiobooksList";
83 public int getActivityTitle() {
84 return R.string.nav_audiobooks;
88 public int getEmptyListText() {
89 return R.string.audiobooks_empty_list;
95 public DataProvider<List<BookModel>, BooksService> getDataProvider() {
96 return new NewestBooksDataProvider();
100 public boolean isDeletable() {
105 public boolean isSearchable() {
110 public boolean isPageable() {
115 public String getNameForTracker() {
120 public int getActivityTitle() {
121 return R.string.book_list_newest_title;
125 public int getEmptyListText() {
126 return R.string.newest_empty_list;
132 public DataProvider<List<BookModel>, BooksService> getDataProvider() {
133 return new RecommendedBooksDataProvider();
137 public boolean isDeletable() {
142 public boolean isSearchable() {
147 public boolean isPageable() {
152 public String getNameForTracker() {
153 return "RecommendedList";
157 public int getActivityTitle() {
158 return R.string.book_list_recommended_title;
162 public int getEmptyListText() {
163 return R.string.recommended_empty_list;
169 public DataProvider<List<BookModel>, BooksService> getDataProvider() {
170 return new ReadingStateDataProvider(ReadingStateModel.ReadingState.STATE_READING);
174 public boolean isDeletable() {
179 public boolean isSearchable() {
184 public boolean isPageable() {
189 public String getNameForTracker() {
190 return "NowReadingList";
194 public int getActivityTitle() {
195 return R.string.nav_reading;
199 public int getEmptyListText() {
200 return R.string.reading_empty_list;
206 public DataProvider<List<BookModel>, BooksService> getDataProvider() {
207 return new FavouritesDataProvider();
210 public boolean isDeletable() {
215 public boolean isSearchable() {
220 public boolean isPageable() {
225 public String getNameForTracker() {
226 return "FavouritesList";
230 public int getActivityTitle() {
231 return R.string.nav_favourites;
235 public int getEmptyListText() {
236 return R.string.faviourites_empty_list;
242 public DataProvider<List<BookModel>, BooksService> getDataProvider() {
243 return new ReadingStateDataProvider(ReadingStateModel.ReadingState.STATE_COMPLETED);
247 public boolean isDeletable() {
252 public boolean isSearchable() {
257 public boolean isPageable() {
262 public String getNameForTracker() {
263 return "CompletedList";
267 public int getActivityTitle() {
268 return R.string.nav_completed;
272 public int getEmptyListText() {
273 return R.string.completed_empty_list;
277 public abstract DataProvider<List<BookModel>, BooksService> getDataProvider();
279 public abstract boolean isDeletable();
281 public abstract boolean isSearchable();
283 public abstract boolean isPageable();
285 public abstract String getNameForTracker();
288 public abstract int getActivityTitle();
291 public abstract int getEmptyListText();