Como fornecer contexto com Dagger2
Estou aprendendo o Android e estou seguindo alguns guias para o Retrofit2 com RxJava e Dagger2. Agora eu quero lidar com nenhum caso de conexão à Internet. Eu encontrei issoresponda, que parece elegante, mas não entendo como aplicá-lo.
Eu tenho algunsNetworkModule
comOkHttpClient
fornecedor. Presumo que preciso criarOkHttpClient.Builder
com interceptador. Portanto, deve ser algo como isto: `
@Provides
@Singleton
OkHttpClient provideOkHttpClient(Cache cache) {
ConnectivityInterceptor ci = new ConnectivityInterceptor(networkObservable()));
OkHttpClient.Builder.addInterceptor(ci)
return builder.build();
}
private boolean networkObservable() {
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
return activeNetwork != null && activeNetwork.isConnectedOrConnecting();
}
Isso não está funcionando, porque eu não tenhoContext
. Em que direção devo ir - para tentar obter contexto lá, ou talvez eu entenda mal o conceito de observáveis?