|
|
@@ -268,65 +268,78 @@ public class HanwhaNetworkClient<T> {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void onResponse(Call call, final Response response) throws IOException {
|
|
|
+ public void onResponse(Call call, final Response response) {
|
|
|
if (BuildConfig.DEBUG) {
|
|
|
Log.i(getClass().getSimpleName(), "onResponse");
|
|
|
Log.i(getClass().getSimpleName(), response.toString());
|
|
|
Log.i(getClass().getSimpleName(), "########################################");
|
|
|
}
|
|
|
+
|
|
|
if (response.code() == HanwhaNetworkError.CODE_SUCCESS) {
|
|
|
- try {
|
|
|
- String result = response.body().string();
|
|
|
- final Object data = new Gson().fromJson(result, object);
|
|
|
- if (BuildConfig.DEBUG) {
|
|
|
- Log.i(getClass().getSimpleName(), "HanwhaNetworkClient = response:" + result);
|
|
|
- Log.i(getClass().getSimpleName(), "HanwhaNetworkClient = JSON: " + data.toString());
|
|
|
- }
|
|
|
- runOnUiThread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- callback.onSuccess(data);
|
|
|
- callback.onPostExecute();
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- } catch (final IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- runOnUiThread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- callback.onFailure(new HanwhaNetworkError(e));
|
|
|
- callback.onPostExecute();
|
|
|
- }
|
|
|
- });
|
|
|
- } catch (final IllegalArgumentException e2) {
|
|
|
- e2.printStackTrace();
|
|
|
- runOnUiThread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- callback.onFailure(new HanwhaNetworkError(e2));
|
|
|
- callback.onPostExecute();
|
|
|
- }
|
|
|
- });
|
|
|
- } catch (final JsonSyntaxException e3) {
|
|
|
- e3.printStackTrace();
|
|
|
- runOnUiThread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- callback.onFailure(new HanwhaNetworkError(e3));
|
|
|
- callback.onPostExecute();
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
+ onResponseSuccess(object, response, callback);
|
|
|
} else {
|
|
|
- runOnUiThread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- callback.onFailure(new HanwhaNetworkError(response.code(), response.message(), response));
|
|
|
- callback.onPostExecute();
|
|
|
- }
|
|
|
- });
|
|
|
+ onResponseFailure(response, callback);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onResponseSuccess(@NonNull final Class<T> object, final Response response, @Nullable final HanwhaNetworkCallback callback) {
|
|
|
+ try {
|
|
|
+ String result = response.body().string();
|
|
|
+ final Object data = new Gson().fromJson(result, object);
|
|
|
+ if (BuildConfig.DEBUG) {
|
|
|
+ Log.i(getClass().getSimpleName(), "HanwhaNetworkClient = response:" + result);
|
|
|
+ Log.i(getClass().getSimpleName(), "HanwhaNetworkClient = JSON: " + data.toString());
|
|
|
+ }
|
|
|
+ runOnUiThread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ callback.onSuccess(data);
|
|
|
+ callback.onPostExecute();
|
|
|
}
|
|
|
+ });
|
|
|
+
|
|
|
+ } catch (final IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ runOnUiThread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ callback.onFailure(new HanwhaNetworkError(e));
|
|
|
+ callback.onPostExecute();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (final IllegalArgumentException e2) {
|
|
|
+ e2.printStackTrace();
|
|
|
+ runOnUiThread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ callback.onFailure(new HanwhaNetworkError(e2));
|
|
|
+ callback.onPostExecute();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (final JsonSyntaxException e3) {
|
|
|
+ e3.printStackTrace();
|
|
|
+ runOnUiThread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ callback.onFailure(new HanwhaNetworkError(e3));
|
|
|
+ callback.onPostExecute();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onResponseFailure(final Response response, @NonNull final HanwhaNetworkCallback callback) {
|
|
|
+ onResponseFailure(new HanwhaNetworkError(response.code(), response.message(), response), callback);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onResponseFailure(@NonNull final HanwhaNetworkError error, @NonNull final HanwhaNetworkCallback callback) {
|
|
|
+ runOnUiThread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ callback.onFailure(error);
|
|
|
+ callback.onPostExecute();
|
|
|
}
|
|
|
});
|
|
|
}
|