Beta release of V2.5.5 - Adds network status logging.

This commit is contained in:
Graham Jones
2018-02-23 09:31:37 +00:00
parent ef1c73905b
commit 9793fa8e67
6 changed files with 68 additions and 8 deletions

View File

@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="uk.org.openseizuredetector"
android:versionCode="38"
android:versionName="2.5.4">
android:versionCode="39"
android:versionName="2.5.5">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SEND_SMS" />

View File

@@ -245,7 +245,7 @@ public class SdDataSourcePebble extends SdDataSource {
*/
public void updatePrefs() {
Log.v(TAG, "updatePrefs()");
mUtil.writeToSysLogFile("SdDataSourcePebble.updatePrefs()");
//mUtil.writeToSysLogFile("SdDataSourcePebble.updatePrefs()");
SharedPreferences SP = PreferenceManager
.getDefaultSharedPreferences(mContext);
try {
@@ -527,7 +527,7 @@ public class SdDataSourcePebble extends SdDataSource {
*/
public void getPebbleSdSettings() {
Log.v(TAG, "getPebbleSdSettings() - sending required settings to pebble");
mUtil.writeToSysLogFile("SdDataSourcePebble.getPebbleSdSettings()");
//mUtil.writeToSysLogFile("SdDataSourcePebble.getPebbleSdSettings()");
sendPebbleSdSettings();
//Log.v(TAG, "getPebbleSdSettings() - requesting settings from pebble");
//mUtil.writeToSysLogFile("SdDataSourcePebble.getPebbleSdSettings() - and request settings from pebble");
@@ -545,7 +545,7 @@ public class SdDataSourcePebble extends SdDataSource {
*/
public void sendPebbleSdSettings() {
Log.v(TAG, "sendPebblSdSettings() - preparing settings dictionary.. mSampleFreq=" + mSampleFreq);
mUtil.writeToSysLogFile("SdDataSourcePebble.sendPebbleSdSettings()");
//mUtil.writeToSysLogFile("SdDataSourcePebble.sendPebbleSdSettings()");
// Watch Settings
final PebbleDictionary setDict = new PebbleDictionary();

View File

@@ -37,9 +37,11 @@ import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.AssetManager;
import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
@@ -47,6 +49,8 @@ import android.location.Location;
import android.media.AudioManager;
import android.media.RingtoneManager;
import android.media.ToneGenerator;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.CountDownTimer;
import android.os.Environment;
@@ -123,6 +127,8 @@ public class SdServer extends Service implements SdDataReceiver, SdLocationRecei
private Handler mHandler;
private ToneGenerator mToneGenerator;
private NetworkBroadcastReceiver mNetworkBroadcastReceiver;
private final IBinder mBinder = new SdBinder();
/**
@@ -764,7 +770,7 @@ public class SdServer extends Service implements SdDataReceiver, SdLocationRecei
// Start timer to remove the cancel audible flag
// after the required period.
if (mCancelAudibleTimer != null) {
Log.v(TAG, "onCreate(): cancel audible timer already running - cancelling it.");
Log.v(TAG, "cancelAudible(): cancel audible timer already running - cancelling it.");
mCancelAudibleTimer.cancel();
mCancelAudibleTimer = null;
mCancelAudible = false;
@@ -792,7 +798,8 @@ public class SdServer extends Service implements SdDataReceiver, SdLocationRecei
/**
* Start the web server (on port 8080)
* Start the web server (on port 8080), and register for network connectivity events so we can log
* problems.
*/
protected void startWebServer() {
Log.v(TAG, "startWebServer()");
@@ -808,10 +815,16 @@ public class SdServer extends Service implements SdDataReceiver, SdLocationRecei
} else {
Log.v(TAG, "startWebServer(): server already running???");
}
mNetworkBroadcastReceiver = new NetworkBroadcastReceiver();
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
//filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
getApplicationContext().registerReceiver(mNetworkBroadcastReceiver,filter);
}
/**
* Stop the web server - FIXME - doesn't seem to do anything!
* And de-register for network connectivity events.
*/
protected void stopWebServer() {
Log.v(TAG, "SdServer.stopWebServer()");
@@ -824,8 +837,50 @@ public class SdServer extends Service implements SdDataReceiver, SdLocationRecei
}
webServer = null;
}
getApplicationContext().unregisterReceiver(mNetworkBroadcastReceiver);
}
private class NetworkBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.v(TAG,"NetworkBroadCastReceiver.onReceive");
mUtil.writeToSysLogFile("Network State Changed" + intent.getAction());
//mUtil.showToast("Network State Changed" + intent.getAction());
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = null;
try {
activeNetwork = cm.getActiveNetworkInfo();
} catch (Exception e) {
Log.v(TAG,"NetworkBroadcastReceiver - failed to retrieve active network info");
mUtil.writeToSysLogFile("NetworkBroadcastReceiver - failed to retrieve active network info");
Log.v(TAG,e.toString());
}
if (activeNetwork != null) {
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
if (!isWiFi) {
Log.v(TAG,"NetworkBroadcastReceiver - no Wifi Connection");
mUtil.writeToSysLogFile("Network State Changed - no Wifi Connection");
mUtil.showToast("Network State Changed - no Wifi Connection");
} else {
Log.v(TAG,"NetworkBroadcastReceiver - Wifi Connected");
mUtil.writeToSysLogFile("Network State Changed - Wifi Connected");
mUtil.showToast("Network State Changed - Wifi Connected");
}
} else {
Log.v(TAG,"NetworkBroadcastReceiver - No Active Network");
mUtil.writeToSysLogFile("Network State Changed - No Active Network");
mUtil.showToast("Network State Changed - No Active Network");
}
}
}
/**
* Log data to SD card if mLogData is set in preferences.
*/