package com.fastaccess.ui.modules.user; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.TabLayout; import com.fastaccess.R; import com.fastaccess.data.dao.FragmentPagerAdapterModel; import com.fastaccess.data.dao.model.Login; import com.fastaccess.helper.BundleConstant; import com.fastaccess.helper.Bundler; import com.fastaccess.helper.InputHelper; import com.fastaccess.ui.adapter.FragmentsPagerAdapter; import com.fastaccess.ui.base.BaseActivity; import com.fastaccess.ui.modules.main.MainActivity; import com.fastaccess.ui.widgets.ViewPagerView; import butterknife.BindView; import icepick.State; import shortbread.Shortcut; /** * Created by Kosh on 03 Dec 2016, 8:00 AM */ @Shortcut(id = "profile", icon = R.drawable.ic_profile_shortcut, shortLabelRes = R.string.profile, backStack = {MainActivity.class}, rank = 4) public class UserPagerActivity extends BaseActivity<UserPagerMvp.View, UserPagerPresenter> implements UserPagerMvp.View { @BindView(R.id.tabs) TabLayout tabs; @BindView(R.id.tabbedPager) ViewPagerView pager; @State String login; @State boolean isOrg; public static void startActivity(@NonNull Context context, @NonNull String login) { startActivity(context, login, false); } public static void startActivity(@NonNull Context context, @NonNull String login, boolean isOrg) { context.startActivity(createIntent(context, login, isOrg)); } public static Intent createIntent(@NonNull Context context, @NonNull String login) { return createIntent(context, login, false); } public static Intent createIntent(@NonNull Context context, @NonNull String login, boolean isOrg) { Intent intent = new Intent(context, UserPagerActivity.class); intent.putExtras(Bundler.start() .put(BundleConstant.EXTRA, login) .put(BundleConstant.EXTRA_TYPE, isOrg) .end()); return intent; } @Override protected int layout() { return R.layout.tabbed_pager_layout; } @Override protected boolean isTransparent() { return true; } @Override protected boolean canBack() { return true; } @Override protected boolean isSecured() { return false; } @NonNull @Override public UserPagerPresenter providePresenter() { return new UserPagerPresenter(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState == null) { if (getIntent() != null && getIntent().getExtras() != null) { login = getIntent().getExtras().getString(BundleConstant.EXTRA); isOrg = getIntent().getExtras().getBoolean(BundleConstant.EXTRA_TYPE); if (!InputHelper.isEmpty(login) && isOrg) { getPresenter().checkOrgMembership(login); } } else { login = Login.getUser().getLogin(); } } if (InputHelper.isEmpty(login)) { finish(); return; } setTitle(login); if (login.equalsIgnoreCase(Login.getUser().getLogin())) { selectProfile(); } if (!isOrg) { FragmentsPagerAdapter adapter = new FragmentsPagerAdapter(getSupportFragmentManager(), FragmentPagerAdapterModel.buildForProfile(this, login)); pager.setAdapter(adapter); tabs.setTabGravity(TabLayout.GRAVITY_FILL); tabs.setTabMode(TabLayout.MODE_SCROLLABLE); tabs.setupWithViewPager(pager); } else { if (getPresenter().getIsMember() == -1) { getPresenter().checkOrgMembership(login); } else { onInitOrg(getPresenter().isMember == 1); } } } @Override public void hideProgress() { super.hideProgress(); } @Override public void onNavigateToFollowers() { pager.setCurrentItem(4); } @Override public void onNavigateToFollowing() { pager.setCurrentItem(5); } @Override public void onInitOrg(boolean isMember) { hideProgress(); FragmentsPagerAdapter adapter = new FragmentsPagerAdapter(getSupportFragmentManager(), FragmentPagerAdapterModel.buildForOrg(this, login, isMember)); pager.setAdapter(adapter); tabs.setTabGravity(TabLayout.GRAVITY_FILL); tabs.setTabMode(TabLayout.MODE_SCROLLABLE); tabs.setupWithViewPager(pager); } }