package com.alorma.github.ui.fragment.orgs;
import android.os.Bundle;
import android.support.annotation.Nullable;
import com.alorma.github.R;
import com.alorma.github.injector.component.ApiComponent;
import com.alorma.github.injector.module.repository.OrganizationRepositoriesModule;
import com.alorma.github.presenter.repos.OrganizationRepositoriesPresenter;
import com.alorma.github.ui.fragment.repos.ReposFragment;
import com.mikepenz.iconics.typeface.IIcon;
import com.mikepenz.octicons_typeface_library.Octicons;
import javax.inject.Inject;
public class OrgsReposFragment extends ReposFragment {
private static final String ORGS = "ORGS";
@Inject OrganizationRepositoriesPresenter presenter;
private String orgName;
public static OrgsReposFragment newInstance() {
return new OrgsReposFragment();
}
public static OrgsReposFragment newInstance(String username) {
OrgsReposFragment reposFragment = new OrgsReposFragment();
if (username != null) {
Bundle bundle = new Bundle();
bundle.putString(ORGS, username);
reposFragment.setArguments(bundle);
}
return reposFragment;
}
@Override
protected int getLightTheme() {
return R.style.AppTheme_People;
}
@Override
protected int getDarkTheme() {
return R.style.AppTheme_Dark_People;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
orgName = getArguments().getString(ORGS);
}
}
@Override
public void onResume() {
super.onResume();
presenter.attachView(this);
onRefresh();
}
@Override
public void onPause() {
super.onPause();
presenter.detachView();
}
@Override
protected void initInjectors(ApiComponent apiComponent) {
apiComponent
.plus(new OrganizationRepositoriesModule())
.inject(this);
}
@Override
protected void onRefresh() {
presenter.execute(orgName);
}
@Override
public int getTitle() {
return R.string.navigation_general_repositories;
}
@Override
public IIcon getTitleIcon() {
return Octicons.Icon.oct_repo;
}
@Override
public void loadMoreItems() {
presenter.executePaginated(orgName);
}
}