Вы можете использовать этот код в любом месте.
Timer(Duration(seconds: 30), () {
//checkFirstSeen(); your logic
});
Насколько я могу понять, что в TextBlock нет никакого textchanged события. Смотря на Ваше требование, я чувствую, что перешаблонная обработка текстового поля также не будет эффективным решением. От моего предварительного поиска вокруг, это, кажется, возможное решение.