InputFilter para formatar um campo de Hora

Alguém pode me dar uma ajuda nisso?

Tenho um campo hora (time) que será digitada a hora, quero que conforme vá digitando vá formatando (colocando o : ), porém não está funcionando, o que está errado?

Filtro:

[code]package com.worker.meuponto.util;

import android.text.InputFilter;
import android.text.Spanned;
import android.text.TextUtils;

public class HoraInputFilter implements InputFilter {
int tamanho = 0;

public HoraInputFilter() {

}

public HoraInputFilter(int tamanho) {
	this.tamanho = tamanho;
}

public CharSequence filter(CharSequence source, int start, int end,
		Spanned dest, int dstart, int dend) {

	char[] v = new char[end - start];
	TextUtils.getChars(source, start, end, v, 0);
	String s = new String(v);
	System.out.println("String: " + s);
	if (s.length() == 2) { // 14
		s = s + ":";
	}
	if (s.length() == 5) { // 14:33
		s = s + ":";
	}
	
	if (s.length() > 8) {
		s = s.substring(0, 8);
	}
	return s;
}

}[/code]

No meu Activity:

EditText campoHoraEntrada = (EditText) findViewById(R.id.campoHoraEntrada); campoHoraEntrada.setFilters( new InputFilter[]{ new HoraInputFilter() } );

XML:

<EditText android:id="@+id/campoHoraEntrada" android:layout_width="fill_parent" android:layout_height="wrap_content" android:ems="10" android:maxLength="10" android:inputType="text" />

Simplesmente não funciona

Acho que encontrei:

[code] @Override
protected void onResume() {
super.onResume();

	final Handler mHandler = new Handler() {
		@Override
		public void handleMessage(Message msg) {
			
			String timeString = new SimpleDateFormat("HH:mm:ss").format(new Date());
			((TextView) findViewById(R.id.campoTeste)).setText(timeString);
		}
	};
	
	int initialDelay = 1000; 
	int period = 1000;             

	Timer timer = new Timer();
	TimerTask task = new TimerTask() {
	  public void run() {
	      Message msg = new Message();
	      mHandler.sendMessage(msg);
	  }
	};
	timer.scheduleAtFixedRate(task, initialDelay, period);
}[/code]