title: CountDownTimer behaves weird/different the second time i open its Activity
body: <p>I have been spending way too many hours on this one. And i just dont get it.</p>
  
  <p>What i want: I have a main Activity (lets call it 'Activity Main') from which i am calling a second Activity ('Activity Timer') that has a CountDownTimer. Upon starting "Activity Timer" i want a Countdown to start running; it is only supposed to play a sound when it finishes. There is also a 'Pause-Button' which pauses/resumes the Countdown. 'Activity Timer' sends back results to 'Activity Main' via Intent when a button is pressed (either 'Success' or 'Fail' - well, it's a game). I am back at 'Activity Main' and all just worked perfectly fine.</p>
  
  <p>That is until i start 'Activity Timer' a second time (for the secound round): The Countdown starts but cannot be paused. It just keeps ticking, even though i cancel() the Countdown and finish() the 'Activity Timer'.</p>
  
  <p>Here's the code:</p>
  
  <blockquote>
    <p>Activity Timer</p>
  </blockquote>
  
  <pre><code>public class GameActivity extends AppCompatActivity {
  
      long countdown_time;
      Button button_fail, button_success;
      ImageButton imgbtn_pause;
      boolean cd_running = false;
      boolean countdown_auto = true;
      TextView textView_countdown;
      private static CountDownTimer;
      Vibrator vibrator;
  
      @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.game_activity);
  
              getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  
          // Preferences
          prefs = getSharedPreferences("shared_preferences", Context.MODE_PRIVATE);
  
          // Intent
          Intent i = getIntent();
          countdown_time = i.getLongExtra("countdown_time", 60000);
  
          // Assigning
          button_fail = (Button) findViewById(R.id.btn_fail);
          button_success = (Button) findViewById(R.id.btn_success);
          textView_countdown = (TextView) findViewById(R.id.tv_countdown);
          imgbtn_pause = (ImageButton) findViewById(R.id.imgbtn_pause);
  
          button_fail.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
  
                  if (cd_running) {
                      countdown.cancel();
                  }
  
                  cd_running = false;
                  countdown = null;
                  Intent returnIntent = new Intent();
  
                  if (risk) {
                      returnIntent.putExtra("result", "-3");
                  } else {
                      returnIntent.putExtra("result", "0");
                  }
  
                  setResult(Activity.RESULT_OK, returnIntent);
                  finish();
              }
          });
  
          button_success.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
  
                  if (cd_running) {
                      countdown.cancel();
                  }
  
                  cd_running = false;
                  countdown = null;
                  Intent returnIntent = new Intent();
  
                  setResult(Activity.RESULT_OK, returnIntent);
                  finish();
              }
          });
  
          imgbtn_pause.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
  
                  if (cd_running) {
                      countdown.cancel();
                      cd_running = false;
                      imgbtn_pause.setBackgroundResource(R.drawable.play_2);
                  } else {
                      startCountDownTimer();
                      imgbtn_risk.setVisibility(View.INVISIBLE);
                      imgbtn_pause.setBackgroundResource(R.drawable.pause_2);
                  }
              }
          });
  
          private void startCountDownTimer() {
  
          cd_running = true;
          imgbtn_pause.setBackgroundResource(R.drawable.pause_2);
  
          countdown = new CountDownTimer(countdown_time, 1000) {
              public void onTick(long millisUntilFinished) {
                  countdown_time = millisUntilFinished;
                  textView_countdown.setText("" + millisUntilFinished / 1000);
              }
  
              public void onFinish() {
  
                  countdown.cancel();
                  countdown = null;
                  cd_running = false;
  
                  if (!mute) {
                      vibrator = (Vibrator) GameActivity.this.getSystemService(Context.VIBRATOR_SERVICE);
                      vibrator.vibrate(1000);
                      countdown_sound.start();
                  }
                  textView_countdown.setVisibility(View.INVISIBLE);
                  textView_gameOver.setVisibility(View.VISIBLE);
                  imgbtn_pause.setVisibility(View.INVISIBLE);
  
              }
          }.start();
      }
  </code></pre>
  
  <blockquote>
    <p>The call from 'Activity Main':</p>
  </blockquote>
  
  <pre><code>    @Override
      public void onClick(View view) {
  
          Intent i = new Intent(GameMenu.this, GameActivity.class);
                      i.putExtra("countdown_time", countdown_time);
  
                      startActivityForResult(i, 1);
                  }
      }
  
       @Override
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  
          if (requestCode == 1) {
              if (resultCode == Activity.RESULT_OK) {
  
                  String result_string = data.getStringExtra("result");
                  int result_int = Integer.parseInt(data.getStringExtra("result"));
  
              }
  
              if (resultCode == Activity.RESULT_CANCELED) {
                  // No result
              }
      }
  </code></pre>