mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 06:17:27 +00:00
TRACKING APP: wip changing network code
This commit is contained in:
1 parent
80ec60fe1a
commit
e5dd7a258f
2 files changed
+20
-91
No files matched your search
+20
-26
@@ -35,10 +35,8 @@ import android.widget.Button;
|
||||
import android.widget.ListView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.volley.Response.ErrorListener;
|
||||
import com.android.volley.Response.Listener;
|
||||
import com.android.volley.VolleyError;
|
||||
import com.sap.sailing.android.shared.data.http.HttpGetRequest;
|
||||
import com.sap.sailing.android.shared.data.http.HttpJsonPostRequest;
|
||||
import com.sap.sailing.android.shared.logging.ExLog;
|
||||
import com.sap.sailing.android.tracking.app.BuildConfig;
|
||||
import com.sap.sailing.android.tracking.app.R;
|
||||
@@ -51,13 +49,11 @@ import com.sap.sailing.android.tracking.app.utils.AppPreferences;
|
||||
import com.sap.sailing.android.tracking.app.utils.CheckinHelper;
|
||||
import com.sap.sailing.android.tracking.app.utils.DatabaseHelper;
|
||||
import com.sap.sailing.android.tracking.app.utils.DatabaseHelper.GeneralDatabaseHelperException;
|
||||
import com.sap.sailing.android.tracking.app.utils.JsonObjectOrStatusOnlyRequest;
|
||||
import com.sap.sailing.android.tracking.app.utils.NetworkHelper;
|
||||
import com.sap.sailing.android.tracking.app.utils.NetworkHelper.NetworkHelperError;
|
||||
import com.sap.sailing.android.tracking.app.utils.NetworkHelper.NetworkHelperFailureListener;
|
||||
import com.sap.sailing.android.tracking.app.utils.NetworkHelper.NetworkHelperSuccessListener;
|
||||
import com.sap.sailing.android.tracking.app.utils.UniqueDeviceUuid;
|
||||
import com.sap.sailing.android.tracking.app.utils.VolleyHelper;
|
||||
import com.sap.sailing.android.tracking.app.valueobjects.CheckinData;
|
||||
import com.sap.sailing.domain.racelog.tracking.DeviceIdentifier;
|
||||
import com.sap.sailing.domain.racelog.tracking.impl.SmartphoneUUIDIdentifierImpl;
|
||||
@@ -415,12 +411,6 @@ public class HomeFragment extends BaseFragment implements
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDetach() {
|
||||
super.onDetach();
|
||||
VolleyHelper.getInstance(getActivity()).cancelRequest(REQUEST_TAG);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a confirmation-dialog in which the user confirms his full name
|
||||
* and sail-id.
|
||||
@@ -505,21 +495,25 @@ public class HomeFragment extends BaseFragment implements
|
||||
startActivity.showProgressDialog(R.string.please_wait, R.string.checking_in);
|
||||
|
||||
try {
|
||||
JSONObject requestObject = CheckinHelper.getCheckinJson(
|
||||
checkinData.competitorId, checkinData.deviceUid, "TODO!!",
|
||||
date.getTime());
|
||||
JSONObject requestObject = CheckinHelper.getCheckinJson(checkinData.competitorId,
|
||||
checkinData.deviceUid, "TODO!!", date.getTime());
|
||||
|
||||
JsonObjectOrStatusOnlyRequest checkinRequest = new JsonObjectOrStatusOnlyRequest(checkinData.checkinURL,
|
||||
requestObject, new CheckinListener(checkinData.leaderboardName,
|
||||
checkinData.eventId, checkinData.competitorId),
|
||||
HttpJsonPostRequest request = new HttpJsonPostRequest(new URL(checkinData.checkinURL),
|
||||
requestObject.toString(), getActivity());
|
||||
|
||||
NetworkHelper.getInstance(getActivity()).executeHttpJsonRequestAsnchronously(
|
||||
request,
|
||||
new CheckinListener(checkinData.leaderboardName, checkinData.eventId,
|
||||
checkinData.competitorId),
|
||||
new CheckinErrorListener(checkinData.leaderboardName, checkinData.eventId,
|
||||
checkinData.competitorId));
|
||||
|
||||
VolleyHelper.getInstance(getActivity()).addRequest(checkinRequest);
|
||||
|
||||
} catch (JSONException e) {
|
||||
ExLog.e(getActivity(), TAG, "Failed to generate checkin JSON: " + e.getMessage());
|
||||
displayAPIErrorRecommendRetry();
|
||||
} catch (MalformedURLException e) {
|
||||
ExLog.e(getActivity(), TAG,
|
||||
"Failed to generate checkin JSON: " + e.getMessage());
|
||||
"Failed to perform checkin, MalformedURLException: " + e.getMessage());
|
||||
displayAPIErrorRecommendRetry();
|
||||
}
|
||||
}
|
||||
@@ -670,7 +664,7 @@ public class HomeFragment extends BaseFragment implements
|
||||
}
|
||||
}
|
||||
|
||||
private class CheckinListener implements Listener<JSONObject> {
|
||||
private class CheckinListener implements NetworkHelperSuccessListener {
|
||||
|
||||
public String leaderboardName;
|
||||
public String eventId;
|
||||
@@ -683,7 +677,7 @@ public class HomeFragment extends BaseFragment implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResponse(JSONObject response) {
|
||||
public void performAction(JSONObject response) {
|
||||
StartActivity startActivity = (StartActivity)getActivity();
|
||||
startActivity.dismissProgressDialog();
|
||||
|
||||
@@ -691,7 +685,7 @@ public class HomeFragment extends BaseFragment implements
|
||||
}
|
||||
}
|
||||
|
||||
private class CheckinErrorListener implements ErrorListener {
|
||||
private class CheckinErrorListener implements NetworkHelperFailureListener {
|
||||
|
||||
public String leaderboardName;
|
||||
public String eventId;
|
||||
@@ -704,10 +698,10 @@ public class HomeFragment extends BaseFragment implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onErrorResponse(VolleyError error) {
|
||||
if (error.getMessage() != null)
|
||||
public void performAction(NetworkHelperError e) {
|
||||
if (e.getMessage() != null)
|
||||
{
|
||||
ExLog.e(getActivity(), TAG, error.getMessage().toString());
|
||||
ExLog.e(getActivity(), TAG, e.getMessage().toString());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
-65
@@ -1,65 +0,0 @@
|
||||
package com.sap.sailing.android.tracking.app.utils;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.volley.Request;
|
||||
import com.android.volley.RequestQueue;
|
||||
import com.android.volley.Response.ErrorListener;
|
||||
import com.android.volley.Response.Listener;
|
||||
import com.android.volley.toolbox.JsonObjectRequest;
|
||||
import com.android.volley.toolbox.Volley;
|
||||
|
||||
public class VolleyHelper extends Application {
|
||||
|
||||
private static final String TAG = VolleyHelper.class.getName();
|
||||
|
||||
private RequestQueue mRequestQueue;
|
||||
private Context mContext;
|
||||
|
||||
protected static VolleyHelper mInstance;
|
||||
|
||||
protected VolleyHelper(Context context){
|
||||
super();
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
public static synchronized VolleyHelper getInstance(Context context) {
|
||||
if (mInstance == null) {
|
||||
mInstance = new VolleyHelper(context);
|
||||
}
|
||||
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public RequestQueue getRequestQueue() {
|
||||
if (mRequestQueue == null) {
|
||||
mRequestQueue = Volley.newRequestQueue(mContext);
|
||||
}
|
||||
|
||||
return mRequestQueue;
|
||||
}
|
||||
|
||||
public <T> void enqueueRequest(String urlStr, JSONObject requestJsonObject,
|
||||
Listener<JSONObject> listener, ErrorListener errorListener) {
|
||||
addRequest(new JsonObjectOrStatusOnlyRequest(urlStr, requestJsonObject, listener,
|
||||
errorListener));
|
||||
}
|
||||
|
||||
public <T> void addRequest(Request<T> request) {
|
||||
addRequest(request, TAG);
|
||||
}
|
||||
|
||||
public <T> void addRequest(Request<T> request, Object tag) {
|
||||
request.setTag((tag == null) ? TAG : tag);
|
||||
getRequestQueue().add(request);
|
||||
}
|
||||
|
||||
public void cancelRequest(Object tag) {
|
||||
if (mRequestQueue != null) {
|
||||
mRequestQueue.cancelAll((tag == null) ? TAG : tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user