Да, запросы у вас идут асинхронно, соответственно нужен какой-то коллбек чтобы в момент, когда вы уже получили фильмы - можно было сказать об этом активити.
Грубо говоря можно сделать так: пусть ваш FilmsModel имеет встроенный интерфейс с одним методом
public interface FilmsReadyCallback {
filmsReady(List<FilmsModel> films);
}
Ваш activity может имплементировать его и в реализации метода filmsReady отрисовывать список фильмов.
Передаёте activity в объект FilmsModel и вызываете его вместо метода getFilms()