@Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    Intent intent = getActivity().getIntent();
    mStatType = intent.getIntExtra(EXTRA_STAT_TYPE, -1);
    if (mStatType == -1) {
      mStatType = Preferences.getStatType();
    }

    StatController controller;
    switch (mStatType) {
      case STAT_TYPE_DELIVER:
        controller = new DeliverLogisticsStatController(this);
        break;
      case STAT_TYPE_MOTOR:
        controller = new MotorLogisticsStatController(this);
        break;
      case STAT_TYPE_GANGER:
        controller = new GangerLogisticsStatController(this);
        break;
      default:
        throw new IllegalArgumentException("unknown type " + mStatType);
    }

    mModel = controller.getDeliverStatModel();
    mAdapter = controller.getAdapter();

    View view = inflater.inflate(controller.getResId(), container, false);
    ListView listView = (ListView) view.findViewById(R.id.deliver_stat_list);
    listView.setAdapter(mAdapter);

    return view;
  }
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == R.id.action_deliver_stat_option) {
      Intent intent = new Intent(getActivity(), DeliverStatOptionActivity.class);
      intent.putExtra(EXTRA_STAT_INTERVAL, mModel.getInterval());
      startActivityForResult(intent, REQUEST_CODE_SET_INTERVAL);

      Preferences.setStatType(mStatType);
      return true;
    }

    return super.onOptionsItemSelected(item);
  }