Usando AsyncTask para carregamento de ProgressBar

Boa noite, mortais.

Tenho a seguinte classe, queria que fosse regressivamente partindo de 02:10. O meu problema é que não está indo até 00:00, vai até 01:06. Isso mesmo. Por algum motivo bizarramente que não identifiquei ainda ele para nessa contagem todas as vezes. Por favor me ajudem.

private class TaskToProgressBar extends AsyncTask<Object, Object, String> {

        private ProgressBar progressBar;
        private TextView textView;
        private int minutes = 02;
        private int seconds = 10;

        public TaskToProgressBar(Context context, ProgressBar progressBar, TextView textView) {
            this.progressBar = progressBar;
            this.textView = textView;
        }

        @Override
        protected void onPreExecute() {
            textView.setText(getResources().getString(R.string.register_user_code_start_timer));
            super.onPreExecute();
        }

        @Override
        protected String doInBackground(Object... params) {
            try {
                Thread.sleep(1000);
                for (int i=0; i<minutes*60+seconds; i++) {
                    publishProgress();
                    Thread.sleep(1000);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onProgressUpdate(Object... values) {
            if(seconds>9)
                textView.setText("0"+minutes+":"+seconds);
            else
                textView.setText("0"+minutes+":0"+seconds);

            if(minutes*60+seconds == 120 || minutes*60+seconds == 60)
                minutes--;

            if(seconds == 0)
                seconds = 59;
            else
                seconds--;

            progressBar.incrementProgressBy(1);

            super.onProgressUpdate(values);
        }

        @Override
        protected void onPostExecute(String result) {
            progressBar.setVisibility(ProgressBar.INVISIBLE);
            textView.setText("00:00");
            textView.setGravity(Gravity.CENTER_HORIZONTAL);
            super.onPostExecute(result);
        }
    }

Desde já, brigadão.

Bug de cérebro. Quando se vira uma noite em projeto dá nisso.
O bug está na variação das variáveis, o for era “minutes*60+seconds”, mas esqueci que minutes e seconds são variados lá em baixo. Decaindo. Então a cada interação o i do for, incrementa e as outras variáveis decaem. Portanto:

int totalTime = minutes*60+seconds;
for (int i=0; i<totalTime; i++) { }

Resolvido depois de um coffee break;