package me.ccrama.redditslide.Activities; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; 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.support.v4.widget.DrawerLayout; import android.text.InputType; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.animation.LinearInterpolator; import com.afollestad.materialdialogs.DialogAction; import com.afollestad.materialdialogs.MaterialDialog; import me.ccrama.redditslide.ColorPreferences; import me.ccrama.redditslide.Fragments.SubredditListView; import me.ccrama.redditslide.R; import me.ccrama.redditslide.Visuals.Palette; /** * Created by ccrama on 9/17/2015. */ public class Discover extends BaseActivityAnim { public OverviewPagerAdapter adapter; @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_discover, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); return true; case R.id.search: { new MaterialDialog.Builder(Discover.this) .alwaysCallInputCallback() .inputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS) .inputRange(3, 100) .input(getString(R.string.discover_search), null, new MaterialDialog.InputCallback() { @Override public void onInput(MaterialDialog dialog, CharSequence input) { if (input.length() >= 3) { dialog.getActionButton(DialogAction.POSITIVE).setEnabled(true); } else { dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false); } } }) .positiveText(R.string.search_all) .onPositive(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { Intent inte = new Intent(Discover.this, SubredditSearch.class); inte.putExtra("term", dialog.getInputEditText().getText().toString()); Discover.this.startActivity(inte); } }) .negativeText(R.string.btn_cancel) .show(); } return true; default: return false; } } @Override public void onCreate(Bundle savedInstance) { overrideSwipeFromAnywhere(); super.onCreate(savedInstance); applyColorTheme(""); setContentView(R.layout.activity_multireddits); ((DrawerLayout)findViewById(R.id.drawer_layout)).setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); setupAppBar(R.id.toolbar, R.string.discover_title, true, false); mToolbar.setPopupTheme(new ColorPreferences(this).getFontStyle().getBaseId()); findViewById(R.id.header).setBackgroundColor(Palette.getDefaultColor()); TabLayout tabs = (TabLayout) findViewById(R.id.sliding_tabs); tabs.setTabMode(TabLayout.MODE_FIXED); tabs.setSelectedTabIndicatorColor(new ColorPreferences(Discover.this).getColor("no sub")); ViewPager pager = (ViewPager) findViewById(R.id.content_view); pager.setAdapter(new OverviewPagerAdapter(getSupportFragmentManager())); tabs.setupWithViewPager(pager); pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { findViewById(R.id.header).animate() .translationY(0) .setInterpolator(new LinearInterpolator()) .setDuration(180); } @Override public void onPageScrollStateChanged(int state) { } }); } public class OverviewPagerAdapter extends FragmentStatePagerAdapter { public OverviewPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { Fragment f = new SubredditListView(); Bundle args = new Bundle(); args.putString("id", i == 1?"trending":"popular"); f.setArguments(args); return f; } @Override public int getCount() { return 2; } @Override public CharSequence getPageTitle(int position) { if (position == 0) { return getString(R.string.discover_popular); } else { return getString(R.string.discover_trending); } } } }