Q:

Trying to implement the okHttp Call & Callback scenario. Upon completion there is no onPostExecute to modify the UI

Previously I would simply pass the response.body().string() to OnPostExecute() method of an asyncTask to update TextViews of the UI. okHttp doesn't seem to have this option. Where is the equivalent or how to achieve this?
//Call to server to echo MySQL query
     private void usersInZone() {
                if (!isNetworkAvailable()) return;
                rotate(true);
                OkHttpClient client = new OkHttpClient();
                RequestBody formBody = new FormBody.Builder()
                        .add("userId", String.valueOf(userId))
                        .add("channel", String.valueOf(subport + port))
                        .build();
                Request request = new Request.Builder()
                        .url(SITE_URL + "inZone.php")
                        .post(formBody)
                        .build();

                Call users = client.newCall(request);
                users.enqueue(caller);
            }

//okHttp Callback to parse echo response
    caller = new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                    if (RS != null) RS.makePoor(true);
                }

                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    LOG.l(String.valueOf(call));
                    if (response.isSuccessful()) {
                        try {
                            JSONObject data = new JSONObject(response.body().string());
                            updateFields(getString(R.string.inzone) + data.getInt("total") + "]", String.valueOf(data.getInt("zone")));
                        } catch (JSONException e) {
                            LOG.l("JSONException" + e);
                        }
                    } else if (RS != null) RS.makePoor(true);

                }
            };
//UI textViews i'm needing to update with the echoed results
    private void updateFields(String total, String channelTotal){
            subtitle.setText(total);
            tvusercount.setText(channelTotal);
        }

A:

The callback is not called on the main thread.  If you need to update the UI, a simple way to do that is to create a class that implemented Callback and post the items to the UI like so:
  public abstract class UIMainCallback implements Callback {
    private static final Handler mUIHandler = new Handler(Looper.getMainLooper());

    abstract void failure(Request request, IOException e);

    abstract void response(Response response);

    @Override
    public void onFailure(final Request request, final IOException e) {
        mUIHandler.post(new Runnable() {
            @Override
            public void run() {
                failure(request, e);
            }
        });
    }

    @Override
    public void onResponse(final Response response) throws IOException {
        mUIHandler.post(new Runnable() {
            @Override
            public void run() {
                response(response);
            }
        });
    }
}

Then your Caller can just implement the UIMainCallback instead of the interface. 

