Notificação adequada do AsyncTaskLoader sobre alterações de dados do encadeamento secundário

Eu quero implementarAsyncTaskLoader para minha fonte de dados personalizada:

public class DataSource {
    public interface DataSourceObserver {
        void onDataChanged();
    }
    ...
}

DataSource manterá uma lista de observadores registrados e os notificará sobre mudanças.CustomLoader vai implementarDataSourceObserver. A questão é como notificar corretamenteCustomLoader Desde aLoader.onContentChanged() deve ser chamado de thread de interface do usuário, mas no meu casoDataSource operações (e chamadas paraDataSourceObserver.onDataChanged()) será feito a partir de threads de segundo plano.

Atualizado com ideia da ponta da Selvin:

public class CustomLoader extends AsyncTaskLoader<...> implements DataSource.DataSourceObserver {
    private final Handler observerHandler;

    public CustomLoader(Context context) {
        super(context);
        observerHandler = new Handler()
    }

    @Override
    public void onDataChanged() {
        observerHandler.post(new Runnable() {
            @Override
            public void run() {
                onContentChanged();
            }
        });
    }
}

questionAnswers(1)

yourAnswerToTheQuestion