This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public void onLoadNextPage() { | |
mCurrentPage++; | |
mView.setRefreshing(true); | |
getPage(); | |
} | |
@Override | |
public void onRefresh() { | |
mCurrentPage = 0; | |
mView.setRefreshing(true); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { | |
@Override | |
public void onScrolled(RecyclerView recyclerView, int dx, int dy) { | |
super.onScrolled(recyclerView, dx, dy); | |
int visibleItemCount = recyclerView.getLayoutManager().getChildCount(); | |
int totalItemCount = recyclerView.getLayoutManager().getItemCount(); | |
int firstVisibleItemPosition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findFirstVisibleItemPosition(); | |
if (!mSwipeRefreshLayout.isRefreshing() && !mEndOfList) { | |
if ((visibleItemCount + firstVisibleItemPosition) >= totalItemCount - Constants.PAGINATION_MARGIN |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void getPage() { | |
mCompositeDisposable.add(mRepository.getPage(mCurrentPage) | |
.observeOn(mSchedulerProvider.ui()) | |
.subscribeOn(mSchedulerProvider.io()) | |
.subscribeWith(new DisposableSingleObserver<Products>(){ | |
@Override | |
public void onSuccess( @io.reactivex.annotations.NonNull Products products) { | |
mView.setRefreshing(false); | |
mView.refreshPageItems(products.getProducts()); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
... | |
mPresenter = new Presenter( | |
fragment, | |
SchedulerProvider.getInstance(), | |
Repository.getInstance( | |
LocalDataSource.getInstance(), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ActivityScope | |
@Module | |
public abstract class ActivityModule { | |
@ActivityScope | |
@ContributesAndroidInjector(modules = MovieListFragmentProvider.class) | |
abstract MovieListActivity contributesMovieListActivity(); | |
@ActivityScope | |
@ContributesAndroidInjector(modules = MovieDetailFragmentProvider.class) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Singleton | |
@Component(modules = { | |
AndroidInjectionModule.class, | |
AppModule.class, | |
ApiModule.class, | |
ActivityModule.class}) | |
public interface AppComponent { | |
@Component.Builder | |
interface Builder { | |
@BindsInstance |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@FragmentScope | |
@Module | |
public abstract class MovieDetailFragmentProvider { | |
@FragmentScope | |
@ContributesAndroidInjector(modules = MovieDetailFragmentModule.class) | |
abstract MovieDetailFragment contributesMovieDetailFragment(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@FragmentScope | |
@Module | |
public class MovieDetailFragmentModule { | |
@FragmentScope | |
@Provides | |
MovieDetailContract.View provideDetailView(MovieDetailFragment movieDetailFragment) { | |
return movieDetailFragment; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Module | |
public abstract class FragmentModule { | |
@FragmentScope | |
@ContributesAndroidInjector(modules = MovieListFragmentModule.class) | |
abstract MovieListFragment contributesMovieListFragment(); | |
@FragmentScope | |
@ContributesAndroidInjector(modules = MovieDetailFragmentModule.class) | |
abstract MovieDetailFragment contributesMovieDetailFragment(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BASE_URL="https://api.themoviedb.org/" | |
BASE_IMAGE_URL="https://image.tmdb.org/t/p/" | |
API_VERSION="3/" | |
API_KEY="TODO_GO_GET_YOUR_API_KEY_FROM_https://www.themoviedb.org/settings/api" |
OlderNewer