-
Notifications
You must be signed in to change notification settings - Fork 20
@guliash & Artem Gilmudinov #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…oved downloading images to okhttp; ui of the list;
| /** | ||
| * The executor to post result back on UI thread | ||
| */ | ||
| @NonNull private Executor mPostExecutor; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Почему ты не в некоторых местах аннотируешь все ноннулами, а в некоторых нет?
Если уж все так серьезно, то можно и final проставить)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это желание везде ставить аннотации приходит волнами:-) Надо больше дисциплины.
|
Улучшил CollageLoader - теперь в адаптере не надо управлять подписками (loader сам отменяет, если видит что пришёл ещё один запрос). |
Ссылки на изображения и колбеки хранятся в WeakReference.
Добавлен механизм subscribe/unsubscribe для возможности отписки от получения результата.
Реализован LRUCache для изображений.
Для загрузки списка исполнителей использован AsyncTask.
Для демонстрации фич был создан RecyclerView со списком жанров. При скролле изображения подгружаются и компонуются в коллаж через CollageLoader (изображения никаким образом в адаптере не кешируются, интереса ради). Если для холдера onBindViewHolder был вызван дважды во время скролла, то старая подписка отменится. Во время скролла в главном потоке критическая секция, поэтому изображения не будут выставлены, до тех пор пока происходит скролл. Когда палец будет убран, то изображения будут выставлены.
Для внедрения зависимостей использован Dagger2.
Проблемы:
Пример:
Жду обратной связи:)