package com.kanshu.kanshu;
import android.os.Bundle;
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.support.v7.widget.Toolbar;
import com.kanshu.kanshu.model.User;
import com.mikepenz.aboutlibraries.Libs;
import com.mikepenz.aboutlibraries.ui.LibsFragment;
public class OpenSourceLicensesActivity extends BaseActivity
implements NavigationDrawerFragment.NavigationDrawerCallbacks,
NavigationDrawerFragment.NavigationDrawerData {
/**
* Fragment managing the behaviors, interactions and presentation of the navigation drawer.
*/
private NavigationDrawerFragment mNavigationDrawerFragment;
private SlidingTabLayout mSlidingTabLayout;
private OpenSourceLibrariesPagerAdapter mOpenSourceLibrariesPagerAdapter;
private ViewPager mViewPager;
private Toolbar mToolbar;
private User mCurrentUser;
/**
* Used to store the last screen title. For use in {@link #restoreActionBar()}.
*/
private CharSequence mTitle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_open_source_libs);
if (getIntent().hasExtra("user")) {
mCurrentUser = getIntent().getExtras().getParcelable("user");
}
if (mCurrentUser == null) {
mCurrentUser = new User("name", "level");
}
mToolbar = (Toolbar) findViewById(R.id.toolbar);
if (mToolbar != null) {
setSupportActionBar(mToolbar);
}
mNavigationDrawerFragment = (NavigationDrawerFragment)
getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
mTitle = getTitle();
// Set up the drawer.
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer,
(DrawerLayout) findViewById(R.id.drawer_layout));
//Set up the pager
mOpenSourceLibrariesPagerAdapter = new OpenSourceLibrariesPagerAdapter(
getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mOpenSourceLibrariesPagerAdapter);
mSlidingTabLayout = (SlidingTabLayout) findViewById(R.id.sliding_tabs);
mSlidingTabLayout.setSelectedIndicatorColors(getResources().getColor(R.color.white));
mSlidingTabLayout.setViewPager(mViewPager);
}
@Override
public void onNavigationDrawerItemSelected(int position) {
}
public void onSectionAttached(int number) {
switch (number) {
case 1:
mTitle = getString(R.string.title_section1);
break;
case 2:
mTitle = getString(R.string.title_section2);
break;
case 3:
mTitle = getString(R.string.title_section3);
break;
}
}
public void restoreActionBar() {
mToolbar.setTitle(mTitle);
}
@Override
public User getCurrentUser() {
return mCurrentUser;
}
public class OpenSourceLibrariesPagerAdapter extends FragmentStatePagerAdapter {
//the list of titles of pages
private String[] pageTitles = {getString(R.string.about_open_source_licenses)};
public OpenSourceLibrariesPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
LibsFragment fragment = new Libs.Builder()
.withFields(R.string.class.getFields())
.withLibraries( "calligraphy", "circleimageview")
.withVersionShown(true)
.withLicenseShown(true)
.withLibraryModification("aboutlibraries", Libs.LibraryFields.LIBRARY_NAME, "AboutLibraries")
.fragment();
return fragment;
}
@Override
public int getCount() {
return pageTitles.length;
}
@Override
public CharSequence getPageTitle(int position) {
return pageTitles[position];
}
}
}