Added checks on network status to data sharing status area
This commit is contained in:
@@ -574,12 +574,32 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
if (mConnection.mSdServer.mLogData) {
|
if (mConnection.mSdServer.mLogData) {
|
||||||
if (mConnection.mSdServer.mLogDataRemote) {
|
if (mConnection.mSdServer.mLogDataRemote) {
|
||||||
if (mConnection.mSdServer.mLm.mWac.isLoggedIn()) {
|
if (mConnection.mSdServer.mLm.mWac.isLoggedIn()) {
|
||||||
tv = (TextView) findViewById(R.id.remoteDbTv);
|
if (!mConnection.mSdServer.mLogDataRemoteMobile) {
|
||||||
tv.setText(getString(R.string.data_sharing_status)
|
Log.v(TAG,"mLogDataRemoteMobile="+mConnection.mSdServer.mLogDataRemoteMobile);
|
||||||
+": "
|
Log.v(TAG,"mUtil.isMobileDataActive="+mUtil.isMobileDataActive());
|
||||||
+getString(R.string.data_sharing_setup_ok));
|
if (mUtil.isMobileDataActive()) {
|
||||||
tv.setBackgroundColor(okColour);
|
tv = (TextView) findViewById(R.id.remoteDbTv);
|
||||||
tv.setTextColor(okTextColour);
|
tv.setText(getString(R.string.data_sharing_status)
|
||||||
|
+ ": "
|
||||||
|
+ getString(R.string.not_updating_mobile));
|
||||||
|
tv.setBackgroundColor(warnColour);
|
||||||
|
tv.setTextColor(warnTextColour);
|
||||||
|
} else {
|
||||||
|
tv = (TextView) findViewById(R.id.remoteDbTv);
|
||||||
|
tv.setText(getString(R.string.data_sharing_status)
|
||||||
|
+ ": "
|
||||||
|
+ getString(R.string.data_sharing_setup_ok));
|
||||||
|
tv.setBackgroundColor(okColour);
|
||||||
|
tv.setTextColor(okTextColour);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
tv = (TextView) findViewById(R.id.remoteDbTv);
|
||||||
|
tv.setText(getString(R.string.data_sharing_status)
|
||||||
|
+ ": "
|
||||||
|
+ getString(R.string.data_sharing_setup_ok));
|
||||||
|
tv.setBackgroundColor(okColour);
|
||||||
|
tv.setTextColor(okTextColour);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
tv = (TextView) findViewById(R.id.remoteDbTv);
|
tv = (TextView) findViewById(R.id.remoteDbTv);
|
||||||
tv.setText(getString(R.string.data_sharing_status)
|
tv.setText(getString(R.string.data_sharing_status)
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ public class SdServer extends Service implements SdDataReceiver {
|
|||||||
private boolean mLogAlarms = true;
|
private boolean mLogAlarms = true;
|
||||||
public boolean mLogData = false;
|
public boolean mLogData = false;
|
||||||
public boolean mLogDataRemote = false;
|
public boolean mLogDataRemote = false;
|
||||||
private boolean mLogDataRemoteMobile = false;
|
public boolean mLogDataRemoteMobile = false;
|
||||||
private String mAuthToken = null;
|
private String mAuthToken = null;
|
||||||
private long mEventDuration = 120; // event duration in seconds - uploads datapoints that cover this time range centred on the event time.
|
private long mEventDuration = 120; // event duration in seconds - uploads datapoints that cover this time range centred on the event time.
|
||||||
public long mDataRetentionPeriod = 1; // Prunes the local db so it only retains data younger than this duration (in days)
|
public long mDataRetentionPeriod = 1; // Prunes the local db so it only retains data younger than this duration (in days)
|
||||||
|
|||||||
@@ -52,8 +52,9 @@ public class WebApiConnection {
|
|||||||
/**
|
/**
|
||||||
* Attempt to authenticate with the web API using user name uname and password passwd. Calls function callback with either
|
* Attempt to authenticate with the web API using user name uname and password passwd. Calls function callback with either
|
||||||
* the authentication token on success or null on failure.
|
* the authentication token on success or null on failure.
|
||||||
* @param uname - user name
|
*
|
||||||
* @param passwd - password
|
* @param uname - user name
|
||||||
|
* @param passwd - password
|
||||||
* @param callback - call back function callback(String retVal)
|
* @param callback - call back function callback(String retVal)
|
||||||
* @return true if request sent, or false if failed to send request.
|
* @return true if request sent, or false if failed to send request.
|
||||||
*/
|
*/
|
||||||
@@ -89,7 +90,7 @@ public class WebApiConnection {
|
|||||||
String responseBody = new String(error.networkResponse.data);
|
String responseBody = new String(error.networkResponse.data);
|
||||||
Log.e(TAG, "Login Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
Log.e(TAG, "Login Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG,"Login Error: Returned null response");
|
Log.e(TAG, "Login Error: Returned null response");
|
||||||
}
|
}
|
||||||
setStoredToken(null);
|
setStoredToken(null);
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
@@ -122,7 +123,7 @@ public class WebApiConnection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String getStoredToken() {
|
private String getStoredToken() {
|
||||||
return(mAuthToken);
|
return (mAuthToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isLoggedIn() {
|
public boolean isLoggedIn() {
|
||||||
@@ -177,7 +178,7 @@ public class WebApiConnection {
|
|||||||
Log.e(TAG, "Create Event Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
Log.e(TAG, "Create Event Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG,"Create Event Error - null respones");
|
Log.e(TAG, "Create Event Error - null respones");
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -219,7 +220,7 @@ public class WebApiConnection {
|
|||||||
public boolean getEvent(Long eventId, Consumer<JSONObject> callback) {
|
public boolean getEvent(Long eventId, Consumer<JSONObject> callback) {
|
||||||
//Long eventId=Long.valueOf(285);
|
//Long eventId=Long.valueOf(285);
|
||||||
Log.v(TAG, "getEvent()");
|
Log.v(TAG, "getEvent()");
|
||||||
String urlStr = mUrlBase + "/api/events/"+eventId;
|
String urlStr = mUrlBase + "/api/events/" + eventId;
|
||||||
Log.v(TAG, "getEvent(): urlStr=" + urlStr);
|
Log.v(TAG, "getEvent(): urlStr=" + urlStr);
|
||||||
final String authtoken = getStoredToken();
|
final String authtoken = getStoredToken();
|
||||||
|
|
||||||
@@ -235,10 +236,10 @@ public class WebApiConnection {
|
|||||||
Log.v(TAG, "Response is: " + response);
|
Log.v(TAG, "Response is: " + response);
|
||||||
try {
|
try {
|
||||||
JSONObject retObj = new JSONObject(response);
|
JSONObject retObj = new JSONObject(response);
|
||||||
retObj.put("alarmStateStr",mUtil.alarmStatusToString(retObj.getInt("osdAlarmState")));
|
retObj.put("alarmStateStr", mUtil.alarmStatusToString(retObj.getInt("osdAlarmState")));
|
||||||
callback.accept(retObj);
|
callback.accept(retObj);
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
Log.e(TAG,"getEventTypes.onRespons(): Error: "+e.getMessage()+","+e.toString());
|
Log.e(TAG, "getEventTypes.onRespons(): Error: " + e.getMessage() + "," + e.toString());
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -270,6 +271,7 @@ public class WebApiConnection {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve all events accessible to the logged in user, and pass them to the callback function as a JSONObject
|
* Retrieve all events accessible to the logged in user, and pass them to the callback function as a JSONObject
|
||||||
|
*
|
||||||
* @param callback
|
* @param callback
|
||||||
* @return true on success or false on failure to initiate the request.
|
* @return true on success or false on failure to initiate the request.
|
||||||
*/
|
*/
|
||||||
@@ -296,7 +298,7 @@ public class WebApiConnection {
|
|||||||
retObj.put("events", eventArray);
|
retObj.put("events", eventArray);
|
||||||
callback.accept(retObj);
|
callback.accept(retObj);
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
Log.e(TAG,"getEventTypes.onRespons(): Error: "+e.getMessage()+","+e.toString());
|
Log.e(TAG, "getEventTypes.onRespons(): Error: " + e.getMessage() + "," + e.toString());
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -304,11 +306,12 @@ public class WebApiConnection {
|
|||||||
new Response.ErrorListener() {
|
new Response.ErrorListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onErrorResponse(VolleyError error) {
|
public void onErrorResponse(VolleyError error) {
|
||||||
|
//if ((error != null) && (error.networkResponse != null) && (error.networkResponse.data != null)) {
|
||||||
if (error != null) {
|
if (error != null) {
|
||||||
String responseBody = new String(error.networkResponse.data);
|
String responseBody = new String(error.networkResponse.data);
|
||||||
Log.e(TAG, "getEvents(): Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
Log.e(TAG, "getEvents(): Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
||||||
} else {
|
} else{
|
||||||
Log.e(TAG,"getEvents(): Error: - request returned null response");
|
Log.e(TAG, "getEvents(): Error: - request returned null response");
|
||||||
}
|
}
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
}
|
}
|
||||||
@@ -340,7 +343,7 @@ public class WebApiConnection {
|
|||||||
eventId = eventObj.getLong("id");
|
eventId = eventObj.getLong("id");
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
Log.e(TAG, "updateEvent(): Error reading id from eventObj");
|
Log.e(TAG, "updateEvent(): Error reading id from eventObj");
|
||||||
eventId= Long.valueOf(-1);
|
eventId = Long.valueOf(-1);
|
||||||
}
|
}
|
||||||
final String dataStr = eventObj.toString();
|
final String dataStr = eventObj.toString();
|
||||||
Log.v(TAG, "createEvent - data=" + dataStr);
|
Log.v(TAG, "createEvent - data=" + dataStr);
|
||||||
@@ -348,12 +351,13 @@ public class WebApiConnection {
|
|||||||
|
|
||||||
int reqMethod;
|
int reqMethod;
|
||||||
String urlStr;
|
String urlStr;
|
||||||
if (eventId!=-1) {
|
if (eventId != -1) {
|
||||||
Log.v(TAG,"updateEvent() - found eventId "+eventId+", Updating event record");urlStr = mUrlBase + "/api/events/"+eventId+"/";
|
Log.v(TAG, "updateEvent() - found eventId " + eventId + ", Updating event record");
|
||||||
|
urlStr = mUrlBase + "/api/events/" + eventId + "/";
|
||||||
Log.v(TAG, "urlStr=" + urlStr);
|
Log.v(TAG, "urlStr=" + urlStr);
|
||||||
reqMethod = Request.Method.PUT;
|
reqMethod = Request.Method.PUT;
|
||||||
} else {
|
} else {
|
||||||
Log.v(TAG,"updateEvent() - eventId not found - creating new event record");
|
Log.v(TAG, "updateEvent() - eventId not found - creating new event record");
|
||||||
urlStr = mUrlBase + "/api/events/";
|
urlStr = mUrlBase + "/api/events/";
|
||||||
Log.v(TAG, "urlStr=" + urlStr);
|
Log.v(TAG, "urlStr=" + urlStr);
|
||||||
reqMethod = Request.Method.POST;
|
reqMethod = Request.Method.POST;
|
||||||
@@ -368,7 +372,7 @@ public class WebApiConnection {
|
|||||||
JSONObject retObj = new JSONObject(response);
|
JSONObject retObj = new JSONObject(response);
|
||||||
callback.accept(retObj);
|
callback.accept(retObj);
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
Log.e(TAG,"getEventTypes.onRespons(): Error: "+e.getMessage()+","+e.toString());
|
Log.e(TAG, "getEventTypes.onRespons(): Error: " + e.getMessage() + "," + e.toString());
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -380,7 +384,7 @@ public class WebApiConnection {
|
|||||||
String responseBody = new String(error.networkResponse.data);
|
String responseBody = new String(error.networkResponse.data);
|
||||||
Log.e(TAG, "Create Event Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
Log.e(TAG, "Create Event Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG,"Create Event Error - returned null response");
|
Log.e(TAG, "Create Event Error - returned null response");
|
||||||
}
|
}
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
}
|
}
|
||||||
@@ -423,9 +427,7 @@ public class WebApiConnection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean createDatapoint(JSONObject dataObj, int eventId, Consumer<String> callback) {
|
||||||
|
|
||||||
public boolean createDatapoint(JSONObject dataObj, int eventId, Consumer<String>callback) {
|
|
||||||
Log.v(TAG, "createDatapoint()");
|
Log.v(TAG, "createDatapoint()");
|
||||||
// Create a new event in the remote database, based on the provided parameters.
|
// Create a new event in the remote database, based on the provided parameters.
|
||||||
String urlStr = mUrlBase + "/api/datapoints/";
|
String urlStr = mUrlBase + "/api/datapoints/";
|
||||||
@@ -468,7 +470,7 @@ public class WebApiConnection {
|
|||||||
Log.e(TAG, "Create Datapoint Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
Log.e(TAG, "Create Datapoint Error: " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG,"Create Datapoint Error - returned null respones");
|
Log.e(TAG, "Create Datapoint Error - returned null respones");
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -512,7 +514,8 @@ public class WebApiConnection {
|
|||||||
* Retrieve the file containing the standard event types from the server.
|
* Retrieve the file containing the standard event types from the server.
|
||||||
* Calls the specified callback function, passing a JSONObject as a parameter when the data has been received and parsed.
|
* Calls the specified callback function, passing a JSONObject as a parameter when the data has been received and parsed.
|
||||||
* Note it uses a Consumer callback function to avoid having to create another interface
|
* Note it uses a Consumer callback function to avoid having to create another interface
|
||||||
* - see https://medium.com/@pra4mesh/callback-function-in-java-20fa48b27797
|
* - see https://medium.com/@pra4mesh/callback-function-in-java-20fa48b27797
|
||||||
|
*
|
||||||
* @return true if request sent successfully or else false.
|
* @return true if request sent successfully or else false.
|
||||||
*/
|
*/
|
||||||
public boolean getEventTypes(Consumer<JSONObject> callback) {
|
public boolean getEventTypes(Consumer<JSONObject> callback) {
|
||||||
@@ -535,7 +538,7 @@ public class WebApiConnection {
|
|||||||
JSONObject retObj = new JSONObject(response);
|
JSONObject retObj = new JSONObject(response);
|
||||||
callback.accept(retObj);
|
callback.accept(retObj);
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
Log.e(TAG,"getEventTypes.onRespons(): Error: "+e.getMessage()+","+e.toString());
|
Log.e(TAG, "getEventTypes.onRespons(): Error: " + e.getMessage() + "," + e.toString());
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -547,7 +550,7 @@ public class WebApiConnection {
|
|||||||
String responseBody = new String(error.networkResponse.data);
|
String responseBody = new String(error.networkResponse.data);
|
||||||
Log.e(TAG, "getEventTypes.onErrorResponse(): " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
Log.e(TAG, "getEventTypes.onErrorResponse(): " + error.toString() + ", message:" + error.getMessage() + ", Response Code:" + error.networkResponse.statusCode + ", Response: " + responseBody);
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG,"getEventTypes.onErrorResponse() - returned null response");
|
Log.e(TAG, "getEventTypes.onErrorResponse() - returned null response");
|
||||||
}
|
}
|
||||||
callback.accept(null);
|
callback.accept(null);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -338,4 +338,5 @@
|
|||||||
<string name="data_sharing_setup_ok">Data Sharing Setup OK</string>
|
<string name="data_sharing_setup_ok">Data Sharing Setup OK</string>
|
||||||
<string name="please_confirm_seizure_events">Please Check your Shared Seizure Events</string>
|
<string name="please_confirm_seizure_events">Please Check your Shared Seizure Events</string>
|
||||||
<string name="data_sharing_log_in">Data Sharing Log-In</string>
|
<string name="data_sharing_log_in">Data Sharing Log-In</string>
|
||||||
|
<string name="not_updating_mobile">Not Updating using Mobile Internet</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user