package in.co.praveenkumar.mdroid.activity;
import in.co.praveenkumar.R;
import in.co.praveenkumar.mdroid.fragment.CalenderFragment;
import in.co.praveenkumar.mdroid.fragment.ContentFragment;
import in.co.praveenkumar.mdroid.fragment.ForumFragment;
import in.co.praveenkumar.mdroid.fragment.ParticipantFragment;
import in.co.praveenkumar.mdroid.helper.ApplicationClass;
import in.co.praveenkumar.mdroid.helper.Param;
import in.co.praveenkumar.mdroid.helper.SessionSetting;
import in.co.praveenkumar.mdroid.model.MoodleCourse;
import in.co.praveenkumar.mdroid.view.SlidingTabLayout;
import java.util.List;
import android.os.Bundle;
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.widget.Toast;
public class CourseContentActivity extends BaseNavigationActivity {
private int courseid;
private ViewPager viewPager;
private static final String[] TABS = { "Contents", "Forums", "Calendar",
"Participants" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_course_contents);
setUpDrawer();
// Send a tracker
((ApplicationClass) getApplication())
.sendScreen(Param.GA_SCREEN_CONTENT);
Bundle extras = getIntent().getExtras();
courseid = extras.getInt("courseid");
// Get course details
SessionSetting session = new SessionSetting(this);
List<MoodleCourse> dbCourses = MoodleCourse.find(MoodleCourse.class,
"siteid = ? and courseid = ?", String.valueOf(session.getCurrentSiteId()),
String.valueOf(courseid));
if (dbCourses == null || dbCourses.isEmpty()) {
Toast.makeText(this, "Course not found in database!",
Toast.LENGTH_LONG).show();
return;
}
MoodleCourse mCourse = dbCourses.get(0);
getSupportActionBar().setTitle(mCourse.getFullname());
getSupportActionBar().setIcon(R.drawable.icon_school);
FragmentPagerAdapter mAdapter = new CourseContentTabsAdapter(
getSupportFragmentManager());
viewPager = (ViewPager) findViewById(R.id.course_content_pager);
viewPager.setOffscreenPageLimit(TABS.length);
viewPager.setAdapter(mAdapter);
SlidingTabLayout mSlidingTabLayout = (SlidingTabLayout) findViewById(R.id.sliding_tabs);
mSlidingTabLayout.setViewPager(viewPager);
}
class CourseContentTabsAdapter extends FragmentPagerAdapter {
public CourseContentTabsAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
// Course Content
ContentFragment contentFragment = new ContentFragment();
contentFragment.setCourseid(courseid);
return contentFragment;
case 1:
// Course Forum
ForumFragment forumFragment = new ForumFragment();
forumFragment.setCourseid(courseid);
return forumFragment;
case 2:
// Course Calendar
CalenderFragment calenderFragment = new CalenderFragment();
calenderFragment.setCourseid(courseid);
return calenderFragment;
case 3:
// Course Participants
ParticipantFragment participantFragment = new ParticipantFragment();
participantFragment.setCourseid(courseid);
return participantFragment;
}
return null;
}
@Override
public CharSequence getPageTitle(int position) {
return TABS[position];
}
@Override
public int getCount() {
return TABS.length;
}
}
}