package com.fastaccess.ui.modules.profile;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.view.View;
import com.fastaccess.R;
import com.fastaccess.data.dao.FragmentPagerAdapterModel;
import com.fastaccess.helper.BundleConstant;
import com.fastaccess.helper.Bundler;
import com.fastaccess.ui.adapter.FragmentsPagerAdapter;
import com.fastaccess.ui.base.BaseFragment;
import com.fastaccess.ui.widgets.ViewPagerView;
import butterknife.BindView;
/**
* Created by Kosh on 03 Dec 2016, 8:00 AM
*/
public class ProfilePagerFragment extends BaseFragment<ProfilePagerMvp.View, ProfilePagerPresenter> implements ProfilePagerMvp.View {
public static final String TAG = ProfilePagerFragment.class.getSimpleName();
@BindView(R.id.tabs) TabLayout tabs;
@BindView(R.id.pager) ViewPagerView pager;
public static ProfilePagerFragment newInstance(@NonNull String login) {
ProfilePagerFragment profileView = new ProfilePagerFragment();
profileView.setArguments(Bundler.start().put(BundleConstant.EXTRA, login).end());
return profileView;
}
@Override protected int fragmentLayout() {
return R.layout.tabbed_viewpager;
}
@Override protected void onFragmentCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
if (getArguments() == null) {
throw new RuntimeException("Bundle is null?");
}
String login = getArguments().getString(BundleConstant.EXTRA);
if (login == null) {
throw new RuntimeException("user is null?");
}
FragmentsPagerAdapter adapter = new FragmentsPagerAdapter(getChildFragmentManager(),
FragmentPagerAdapterModel.buildForProfile(getContext(), login));
tabs.setTabGravity(TabLayout.GRAVITY_FILL);
tabs.setTabMode(TabLayout.MODE_SCROLLABLE);
pager.setAdapter(adapter);
tabs.setupWithViewPager(pager);
}
@NonNull @Override public ProfilePagerPresenter providePresenter() {
return new ProfilePagerPresenter();
}
@Override public void onNavigateToFollowers() {
pager.setCurrentItem(4);
}
@Override public void onNavigateToFollowing() {
pager.setCurrentItem(5);
}
}