package me.ccrama.redditslide.Activities; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.view.animation.LinearInterpolator; import me.ccrama.redditslide.ColorPreferences; import me.ccrama.redditslide.Fragments.InboxPage; import me.ccrama.redditslide.Fragments.ModLog; import me.ccrama.redditslide.Fragments.ModPage; import me.ccrama.redditslide.R; import me.ccrama.redditslide.UserSubscriptions; import me.ccrama.redditslide.Visuals.Palette; /** * Created by ccrama on 9/17/2015. */ public class ModQueue extends BaseActivityAnim { public ModQueue.OverviewPagerAdapter adapter; @Override public void onCreate(Bundle savedInstance) { overrideSwipeFromAnywhere(); super.onCreate(savedInstance); applyColorTheme(""); setContentView(R.layout.activity_inbox); setupAppBar(R.id.toolbar, R.string.drawer_moderation, true, true); TabLayout tabs = (TabLayout) findViewById(R.id.sliding_tabs); tabs.setTabMode(TabLayout.MODE_SCROLLABLE); tabs.setSelectedTabIndicatorColor(new ColorPreferences(ModQueue.this).getColor("no sub")); final View header = findViewById(R.id.header); ViewPager pager = (ViewPager) findViewById(R.id.content_view); pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { header.animate() .translationY(0) .setInterpolator(new LinearInterpolator()) .setDuration(180); } @Override public void onPageScrollStateChanged(int state) { } }); findViewById(R.id.header).setBackgroundColor(Palette.getDefaultColor()); pager.setAdapter(new OverviewPagerAdapter(getSupportFragmentManager())); tabs.setupWithViewPager(pager); } public class OverviewPagerAdapter extends FragmentStatePagerAdapter { private Fragment mCurrentFragment; public OverviewPagerAdapter(FragmentManager fm) { super(fm); } public Fragment getCurrentFragment() { return mCurrentFragment; } @Override public void setPrimaryItem(ViewGroup container, int position, Object object) { if (getCurrentFragment() != object) { mCurrentFragment = ((Fragment) object); } super.setPrimaryItem(container, position, object); } @Override public Fragment getItem(int i) { if (i == 1) { Fragment f = new InboxPage(); Bundle args = new Bundle(); args.putString("id", "moderator"); f.setArguments(args); return f; } else if (i == 0) { Fragment f = new InboxPage(); Bundle args = new Bundle(); args.putString("id", "moderator/unread"); f.setArguments(args); return f; } else if (i == 3) { Fragment f = new ModPage(); Bundle args = new Bundle(); args.putString("id", "unmoderated"); args.putString("subreddit", "mod"); f.setArguments(args); return f; } else if (i == 4) { Fragment f = new ModLog(); Bundle args = new Bundle(); f.setArguments(args); return f; } else if (i == 2) { Fragment f = new ModPage(); Bundle args = new Bundle(); args.putString("id", "modqueue"); args.putString("subreddit", "mod"); f.setArguments(args); return f; } else { Fragment f = new ModPage(); Bundle args = new Bundle(); args.putString("id", "modqueue"); args.putString("subreddit", UserSubscriptions.modOf.get(i - 5)); f.setArguments(args); return f; } } @Override public int getCount() { return UserSubscriptions.modOf == null ? 2 : UserSubscriptions.modOf.size() + 5; } @Override public CharSequence getPageTitle(int position) { if (position == 0) { return getString(R.string.mod_mail_unread); } else if (position == 1) { return getString(R.string.mod_mail); } else if (position == 2) { return getString(R.string.mod_modqueue); } else if (position == 3) { return getString(R.string.mod_unmoderated); } else if (position == 4) { return getString(R.string.mod_log); } else { return UserSubscriptions.modOf.get(position - 5); } } } }