@Override
 public int getCount() {
   return ExerciseDao.getSize();
 }
 @Override
 public CharSequence getPageTitle(int position) {
   int exerciseId = ExerciseDao.getExerciseId(position);
   return ExerciseDao.getExerciseById(exerciseId).getName();
 }
    @Override
    public View onCreateView(
        final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      final View rootView = inflater.inflate(R.layout.fragment_main, container, false);
      final TextView textView = (TextView) rootView.findViewById(R.id.section_label);
      final VideoView videoView = (VideoView) rootView.findViewById(R.id.videoView);
      int exerciseNumber = getArguments().getInt(ARG_SECTION_NUMBER);
      final int exerciseId = ExerciseDao.getExerciseId(exerciseNumber - 1);
      final Exercise exercise = ExerciseDao.getExerciseById(exerciseId);
      textView.setText(exercise.getDesc());

      Uri uri =
          Uri.parse(
              "android.resource://" + getActivity().getPackageName() + "/" + exercise.getVideoId());
      videoView.setVideoURI(uri);
      videoView.setOnPreparedListener(
          new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
              videoView.start();
            }
          });

      videoView.setOnTouchListener(
          new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent event) {
              changeSettings();

              return false;
            }

            private void changeSettings() {
              View dialogView =
                  getActivity().getLayoutInflater().inflate(R.layout.num_picker, null);
              NumberPicker repeatCountPicker =
                  (NumberPicker) dialogView.findViewById(R.id.repeatCountPicker);
              NumberPicker executionCountPicker =
                  (NumberPicker) dialogView.findViewById(R.id.executionCountPicker);
              NumberPicker weightPicker = (NumberPicker) dialogView.findViewById(R.id.weightPicker);
              Execution execution =
                  ExecutionDao.getLastExecutionByExercise(ExerciseDao.getExerciseById(exerciseId));
              List<String> numbersList = new ArrayList<>();
              for (int i = 1; i < 51; i++) {
                numbersList.add(String.valueOf(i));
              }
              final String[] numbersInt = new String[numbersList.size()];
              numbersList.toArray(numbersInt);
              repeatCountPicker.setDisplayedValues(numbersInt);
              repeatCountPicker.setMaxValue(numbersInt.length - 1);
              repeatCountPicker.setMinValue(0);
              repeatCountPicker.setFormatter(
                  new NumberPicker.Formatter() {
                    @Override
                    public String format(int i) {
                      return String.format("%02d", i);
                    }
                  });
              repeatCountPicker.setValue(execution.getRepeatCount() - 1);

              executionCountPicker.setDisplayedValues(numbersInt);
              executionCountPicker.setMaxValue(numbersInt.length - 1);
              executionCountPicker.setMinValue(0);
              executionCountPicker.setFormatter(
                  new NumberPicker.Formatter() {
                    @Override
                    public String format(int i) {
                      return String.format("%02d", i);
                    }
                  });
              executionCountPicker.setValue(execution.getExecutionCount() - 1);

              numbersList = new ArrayList<>();
              for (double i = .5; i < 50.5; i += .5) {
                numbersList.add(String.valueOf(i));
              }
              final String[] numbersDbl = new String[numbersList.size()];
              numbersList.toArray(numbersDbl);
              weightPicker.setDisplayedValues(numbersDbl);
              weightPicker.setMaxValue(numbersDbl.length - 1);
              weightPicker.setMinValue(0);
              weightPicker.setValue(numbersList.indexOf(String.valueOf(execution.getWeight())));

              AlertDialog.Builder chooseSettings = new AlertDialog.Builder(getActivity());
              chooseSettings.setTitle(getString(R.string.settings));
              chooseSettings.setView(dialogView);
              chooseSettings.setPositiveButton(
                  getString(R.string.ok),
                  new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                      AlertDialog alertDialog = (AlertDialog) dialog;
                      sendInfo(alertDialog);
                    }

                    private void sendInfo(AlertDialog alertDialog) {
                      Intent intent = new Intent(getContext(), ExternalActivity.class);
                      NumberPicker repeatCountPicker =
                          (NumberPicker) alertDialog.findViewById(R.id.repeatCountPicker);
                      NumberPicker executionCountPicker =
                          (NumberPicker) alertDialog.findViewById(R.id.executionCountPicker);
                      NumberPicker weightPicker =
                          (NumberPicker) alertDialog.findViewById(R.id.weightPicker);
                      intent.putExtra("EXERCISE_ID", exerciseId);
                      intent.putExtra(
                          "REPEAT_COUNT",
                          Integer.parseInt(numbersInt[repeatCountPicker.getValue()]));
                      intent.putExtra(
                          "EXECUTION_COUNT",
                          Integer.parseInt(numbersInt[executionCountPicker.getValue()]));
                      intent.putExtra(
                          "WEIGHT", Double.parseDouble(numbersDbl[weightPicker.getValue()]));
                      startActivity(intent);
                    }
                  });
              chooseSettings.setNegativeButton(
                  getString(R.string.cancel),
                  new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {}
                  });
              chooseSettings.show();
            }
          });
      return rootView;
    }