title: okHttp doesn't cancel execute
body: <p>I am using: 
  Andorid Studio. 
  Okhttp 2.4.0 with AsyncTask. But I can't cancel a request.
  Connected to server on wi-fi. And if server is off then okHttp keeps trying to connect, and I can't cancel it.
  time outs is working but i want to cancel before timeouts</p>
  
  <pre><code>    private OkHttpClient client = new OkHttpClient();
      client.setConnectTimeout(30000, TimeUnit.MILLISECONDS);
  </code></pre>
  
  <p>after execute I press special cancel button in my api</p>
  
  <pre><code>    public void onCancelClick(View v){
          BaseApplication.getInstance().server.cancel();
          synchProducts.cancel(true);
      }
  </code></pre>
  
  <p>first line must stoped okHttp, second line stoped class extended AsyncTask</p>
  
  <pre><code>    private static final String myTag = "AsyncCall";
      public void cancel(){
          client.cancel(myTag);
      }
  </code></pre>
  
  <p>backGround in AsyncTask class</p>
  
  <pre><code>    @Override
      protected String doInBackground(Void... params) {
  
          publishProgress(1); 
          String responseStr = sendProductHeaders();
          //this performed after timeouts, and spit to my cancel okHttp
          publishProgress(2); 
  
          if (responseStr != null &amp;&amp; !isCancelled()){
              ProductsList productsForSend = parseProducts(responseStr);
          //correctly stoped thread
  </code></pre>
  
  <p>I didn't forget to use <code>.tag</code> in the builder request</p>
  
  <pre><code>    public Response post(String url, String json) {
          RequestBody body = RequestBody.create(JSON, json);
          Request request = new Request.Builder()
              .tag(myTag)
              .url(url)
              .post(body)
              .build();
  
          return call(request);
      }
  </code></pre>
  
  <p>"call" is my method which makes the okHttp call</p>
  
  <pre><code>    private Response call(Request request){
          try {
              return client.newCall(request).execute();
          } catch (IOException e) {
              Log.e("Aync call", "IO exception " + e.getMessage());
          }
          return null;
      }
  </code></pre>
  
  <p>"Tags" is true, code in okHttp Library realy fires call.cancel();</p>
  
  <pre><code>    for (Call call : executedCalls) {
        if (Util.equal(tag, call.tag())) {
          call.cancel();
        }
      }
  </code></pre>
  
  <p>method which is running Async</p>
  
  <pre><code>    public void onRefreshProducts(View v){
          progressLayout.setVisibility(View.VISIBLE);
          progressBar.setProgress(0);
          synchProducts = new SynchProducts(activityCallBack);
          synchProducts.execute();
      }
  </code></pre>
  
  <p>"activityCallBack" is the interface I use when I call to my activity from AsyncTask class
  i don't want to use okHttp enqueue, but I can't insert a friendly progress bar in my app.
  Thanks!</p>