package org.droidplanner.android.fragments;
import android.content.Context;
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.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import org.droidplanner.android.R;
import org.droidplanner.android.fragments.calibration.imu.FragmentSetupIMU;
import org.droidplanner.android.fragments.calibration.mag.FragmentSetupMAG;
import org.droidplanner.android.widgets.viewPager.TabPageIndicator;
/**
* Used to calibrate the drone's compass and accelerometer.
*/
public class SensorSetupFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_sensor_setup, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
final SensorPagerAdapter pagerAdapter = new SensorPagerAdapter(getActivity()
.getApplicationContext(), getChildFragmentManager());
final ViewPager viewPager = (ViewPager) view.findViewById(R.id.configuration_pager);
viewPager.setAdapter(pagerAdapter);
final TabPageIndicator tabIndicator = (TabPageIndicator) view.findViewById(R.id.configuration_tab_strip);
tabIndicator.setViewPager(viewPager);
}
private static class SensorPagerAdapter extends FragmentPagerAdapter {
private final Context context;
public SensorPagerAdapter(Context context, FragmentManager fm) {
super(fm);
this.context = context;
}
@Override
public Fragment getItem(int i) {
switch (i) {
case 0:
default:
return new FragmentSetupIMU();
case 1:
return new FragmentSetupMAG();
}
}
@Override
public int getCount() {
//Enable mag calibration when it's fully working.
// return 2;
return 1;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
default:
return FragmentSetupIMU.getTitle(context);
case 1:
return FragmentSetupMAG.getTitle(context);
}
}
}
}