title: Observable RX- Retrofit get data only first time
body: <p>This is a really strange issue that i have. </p>
  
  <p>I'm using RX JAVA Observable with retrofit to get data from the server, these kind of data should change every time but it seems to load data only the first time and the rest o the time re-get the same data.</p>
  
  <p>Also without INTERNET CONNECTION is still getting data (apparently from local) and still going into the onNext and not onError as should be.</p>
  
  <p>This is my observable:</p>
  
  <pre><code>Token token = new Token(AppConfig.TOKEN_NEWS);
      Observable&lt;ArrayList&lt;NewsV0&gt;&gt; newsList = mZappAppApis.getNews(token.getToken());
      newsList
              .subscribeOn(Schedulers.io())
              .observeOn(AndroidSchedulers.mainThread())
              .subscribe(new Subscriber&lt;ArrayList&lt;NewsV0&gt;&gt;() {
                  @Override
                  public void onCompleted() {
                      Logger.i("Retriving user data onCompleted");
                      onLoadCompleted(false);
                  }
  
                  @Override
                  public void onError(Throwable e) {
  
                      Logger.e("Error retriving user data [" + e.getMessage() + "]");
                      onLoadCompleted(true);
                  }
  
                  @Override
                  public void onNext(ArrayList&lt;NewsV0&gt; newsV0s) {
                      Logger.i("Get news from api size ["+newsV0s.size()+"]");
  
  
                      //Every time go here, with internet and without internet, loading the same data
                  }
              });
  </code></pre>
  
  <p>My retrofit api:</p>
  
  <pre><code>@GET("/News")
  Observable&lt;ArrayList&lt;NewsV0&gt;&gt; getNews(
          @Header("Authorization") String authorization
  );
  </code></pre>
  
  <p>I hope someone could help me!</p>
  
  <p>Thanks in advance!!</p>
  
  <p>EDIT:</p>
  
  <p>This is the way i'm providing the RetrofitAdapter</p>
  
  <pre><code>@Provides
  ZappAppApis provideContentApi(OkHttpClient okHttpClient) {
      String apiUrl;
  
      apiUrl = AppConfig.protocolHttp + AppConfig.ZAPPAPP_API_BASE_URL;
  
      Logger.d("Base url API [ " + apiUrl + " ]");
  
      Retrofit restAdapter = new Retrofit.Builder()
              .client(okHttpClient)
              .baseUrl(apiUrl)
              .addConverterFactory(GsonConverterFactory.create())
              .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
              .build();
  
      return restAdapter.create(ZappAppApis.class);
  }
  </code></pre>
  
  <p>And this is the way i'm providing the OkHttpClient:</p>
  
  <pre><code>@Provides
  OkHttpClient okHttpClient() {
      final OkHttpClient client = new OkHttpClient();
  
      HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
  
      if (BuildConfig.DEBUG)
          loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
      else
          loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.NONE);
  
      // set disk cache
      client.setCache(new Cache(context.getCacheDir(), DISK_CACHE_SIZE));
  
      List&lt;Interceptor&gt; interceptors = new ArrayList&lt;&gt;();
      interceptors.add(loggingInterceptor);
      interceptors.add(new LoggingInterceptor() {
          @Override
          public Response intercept(Chain chain) throws IOException {
              Request original = chain.request();
  
              Request request = original.newBuilder()
                      .header("Key", AppConfig.ZAPPAPP_CLIENT_KEY)
                      .header("Cache-Control", "public, max-age=60")
                      .method(original.method(), original.body())
                      .build();
  
              return chain.proceed(request);
          }
      });
  
      client.networkInterceptors().addAll(interceptors);
  
      return client;
  }
  </code></pre>