// "Therefore those skilled at the unorthodox // are infinite as heaven and earth, // inexhaustible as the great rivers. // When they come to an end, // they begin again, // like the days and months; // they die and are reborn, // like the four seasons." // // - Sun Tsu, // "The Art of War" package com.theartofdev.fastimageloaderdemo; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import com.astuetz.PagerSlidingTabStrip; import com.theartofdev.fastimageloader.FastImageLoader; import com.theartofdev.fastimageloaderdemo.instagram.InstagramFragment; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initialize the ViewPager and set an adapter ViewPager pager = (ViewPager) findViewById(R.id.pager); pager.setAdapter(new PagerAdapter(getSupportFragmentManager())); // Bind the tabs to the ViewPager PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.pager_tabs); tabs.setViewPager(pager); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); setPrefetchMenuIcon(menu.findItem(R.id.toggle_prefetch)); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.clear_disk_cache) { FastImageLoader.clearDiskCache(); return true; } else if (item.getItemId() == R.id.toggle_prefetch) { AppApplication.mPrefetchImages = !AppApplication.mPrefetchImages; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.edit().putBoolean("prefetch", AppApplication.mPrefetchImages).apply(); setPrefetchMenuIcon(item); Toast.makeText(this, AppApplication.mPrefetchImages ? R.string.toggle_use_prefetch_on : R.string.toggle_use_prefetch_off, Toast.LENGTH_LONG).show(); return true; } return super.onOptionsItemSelected(item); } private void setPrefetchMenuIcon(MenuItem item) { if (AppApplication.mPrefetchImages) { item.setIcon(R.drawable.ic_arrow_down_bold_circle_white_24dp); } else { item.setIcon(R.drawable.ic_arrow_down_bold_circle_outline_white_24dp); } } class PagerAdapter extends FragmentPagerAdapter { private final String[] TITLES = {"Instagram", "img IX"}; public PagerAdapter(FragmentManager fm) { super(fm); } @Override public CharSequence getPageTitle(int position) { return TITLES[position]; } @Override public int getCount() { return TITLES.length; } @Override public Fragment getItem(int position) { switch (position) { case 0: return new InstagramFragment(); case 1: return new ImgIXFragment(); } return null; } } }