Re-hashed log files to use system directory - will not fix android 10, but has it working again on my phone....

This commit is contained in:
Graham Jones
2020-12-10 13:40:12 +00:00
parent 2312b44ee8
commit 277f6f68c5
9 changed files with 125 additions and 54 deletions

View File

@@ -71,6 +71,7 @@ import org.apache.http.conn.util.InetAddressUtils;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.AbstractList;
@@ -171,8 +172,7 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
if (nServers != 0) {
Log.v(TAG, "isServerRunning() - " + nServers + " instances are running");
return true;
}
else
} else
return false;
}
@@ -181,16 +181,16 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
*/
public void startServer() {
// Start the server
Log.d(TAG,"OsdUtil.startServer()");
Log.d(TAG, "OsdUtil.startServer()");
writeToSysLogFile("startServer() - starting server");
Intent sdServerIntent;
sdServerIntent = new Intent(mContext, SdServer.class);
sdServerIntent.setData(Uri.parse("Start"));
if (Build.VERSION.SDK_INT >= 26) {
Log.i(TAG,"Starting Foreground Service (Android 8 and above)");
Log.i(TAG, "Starting Foreground Service (Android 8 and above)");
mContext.startForegroundService(sdServerIntent);
} else {
Log.i(TAG,"Starting Normal Service (Pre-Android 8)");
Log.i(TAG, "Starting Normal Service (Pre-Android 8)");
mContext.startService(sdServerIntent);
}
}
@@ -219,7 +219,7 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
Intent intent = new Intent(sdServiceConnection.mContext, SdServer.class);
activity.bindService(intent, sdServiceConnection, Context.BIND_AUTO_CREATE);
mNbound = mNbound + 1;
Log.i(TAG,"OsdUtil.bindToServer() - mNbound = "+mNbound);
Log.i(TAG, "OsdUtil.bindToServer() - mNbound = " + mNbound);
}
/**
@@ -234,16 +234,16 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
activity.unbindService(sdServiceConnection);
sdServiceConnection.mBound = false;
mNbound = mNbound - 1;
Log.i(TAG,"OsdUtil.unBindFromServer() - mNbound = "+mNbound);
Log.i(TAG, "OsdUtil.unBindFromServer() - mNbound = " + mNbound);
} catch (Exception ex) {
Log.e(TAG, "unbindFromServer() - error unbinding service - " + ex.toString());
writeToSysLogFile("unbindFromServer() - error unbinding service - " +ex.toString());
Log.i(TAG,"OsdUtil.unBindFromServer() - mNbound = "+mNbound);
writeToSysLogFile("unbindFromServer() - error unbinding service - " + ex.toString());
Log.i(TAG, "OsdUtil.unBindFromServer() - mNbound = " + mNbound);
}
} else {
Log.i(TAG, "unbindFromServer() - not bound to server - ignoring");
writeToSysLogFile("unbindFromServer() - not bound to server - ignoring");
Log.i(TAG,"OsdUtil.unBindFromServer() - mNbound = "+mNbound);
Log.i(TAG, "OsdUtil.unBindFromServer() - mNbound = " + mNbound);
}
}
@@ -299,7 +299,7 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
public boolean isMobileDataActive() {
// return true if we are using mobile data, otherwise return false
ConnectivityManager cm = (ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
return true;
@@ -310,7 +310,7 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
public boolean isNetworkConnected() {
// return true if we have a network connection, otherwise false.
ConnectivityManager cm = (ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
return (activeNetwork.isConnected());
}
@@ -332,35 +332,38 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
/**
* Write a message to the system log file, provided mLogSystem is true.
*
* @param msgStr
*/
public void writeToSysLogFile(String msgStr) {
if (mLogSystem)
writeToLogFile(SYSLOG,msgStr);
writeToLogFile(SYSLOG, msgStr);
else
Log.v(TAG,"writeToSysLogFile - mLogSystem False so not writing");
Log.v(TAG, "writeToSysLogFile - mLogSystem False so not writing");
}
/**
* Write a message to the alarm log file, provided mLogAlarms is true.
*
* @param msgStr
*/
public void writeToAlarmLogFile(String msgStr) {
if (mLogAlarms)
writeToLogFile(ALARMLOG,msgStr);
writeToLogFile(ALARMLOG, msgStr);
else
Log.v(TAG,"writeToAlarmLogFile - mLogAlarms False so not writing");
Log.v(TAG, "writeToAlarmLogFile - mLogAlarms False so not writing");
}
/**
* Write a message to the data log file, provided mLogData is true.
*
* @param msgStr
*/
public void writeToDataLogFile(String msgStr) {
if (mLogData)
writeToLogFile(DATALOG,msgStr);
writeToLogFile(DATALOG, msgStr);
else
Log.v(TAG,"writeToDataLogFile - mLogData False so not writing");
Log.v(TAG, "writeToDataLogFile - mLogData False so not writing");
}
@@ -380,12 +383,11 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
if (ContextCompat.checkSelfPermission(mContext,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
Log.e(TAG,"ERROR: We do not have permission to write to external storage");
Log.e(TAG, "ERROR: We do not have permission to write to external storage");
} else {
if (isExternalStorageWritable()) {
try {
FileWriter of = new FileWriter(getDataStorageDir().toString()
+ "/" + fname, true);
FileWriter of = new FileWriter(getDataStorageDir() + "/" + fname, true);
if (msgStr != null) {
String dateTimeStr = tnow.format("%Y-%m-%d %H:%M:%S");
//Log.v(TAG, "writing msgStr");
@@ -396,7 +398,10 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
of.close();
} catch (Exception ex) {
Log.e(TAG, "writeToLogFile - error " + ex.toString());
showToast("ERROR Writing to Log File");
for (int i = 0; i < (ex.getStackTrace().length); i++) {
Log.e(TAG, "writeToLogFile - error " + ex.getStackTrace()[i]);
}
showToast("ERROR Writing to Log File" + ex.toString());
}
} else {
Log.e(TAG, "ERROR - Can not Write to External Folder");
@@ -404,6 +409,16 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
}
}
public File[] getDataFilesList() {
File[] files = getDataStorageDir().listFiles();
Log.d("Files", "Size: "+ files.length);
for (int i = 0; i < files.length; i++)
{
Log.d("Files", "FileName:" + files[i].getName());
}
return(files);
}
/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
@@ -419,14 +434,15 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
new File(Environment.getExternalStorageDirectory()
, "OpenSeizureDetector");
if (!file.isDirectory()) {
Log.i(TAG,"getDataStorageDir() - creating directory");
if (!file.mkdirs()) {
Log.i(TAG, "getDataStorageDir() - creating directory");
if(!file.mkdirs()) {
Log.e(TAG, "Failed to create directory");
}
}
return file;
}
public String getPreferredPebbleAppPackageName() {
// returns the package name of the preferred Android Pebble App.
return "com.getpebble.android.basalt";
@@ -456,8 +472,8 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
public boolean arePermissionsOK() {
boolean allOk = true;
Log.v(TAG,"arePermissionsOK");
for (int i = 0; i< REQUIRED_PERMISSIONS.length; i++) {
Log.v(TAG, "arePermissionsOK");
for (int i = 0; i < REQUIRED_PERMISSIONS.length; i++) {
if (ContextCompat.checkSelfPermission(mContext, REQUIRED_PERMISSIONS[i])
!= PackageManager.PERMISSION_GRANTED) {
Log.i(TAG, REQUIRED_PERMISSIONS[i] + " Permission Not Granted");
@@ -469,8 +485,8 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
public boolean areSMSPermissionsOK() {
boolean allOk = true;
Log.v(TAG,"areSMSPermissionsOK()");
for (int i = 0; i< SMS_PERMISSIONS.length; i++) {
Log.v(TAG, "areSMSPermissionsOK()");
for (int i = 0; i < SMS_PERMISSIONS.length; i++) {
if (ContextCompat.checkSelfPermission(mContext, SMS_PERMISSIONS[i])
!= PackageManager.PERMISSION_GRANTED) {
Log.i(TAG, SMS_PERMISSIONS[i] + " Permission Not Granted");
@@ -481,10 +497,9 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
}
public void requestPermissions(Activity activity) {
if (mPermissionsRequested) {
Log.i(TAG,"requestPermissions() - request already sent - not doing anything");
Log.i(TAG, "requestPermissions() - request already sent - not doing anything");
} else {
Log.i(TAG, "requestPermissions() - requesting permissions");
for (int i = 0; i < REQUIRED_PERMISSIONS.length; i++) {
@@ -502,7 +517,7 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
public void requestSMSPermissions(Activity activity) {
if (mSMSPermissionsRequested) {
Log.i(TAG,"requestSMSPermissions() - request already sent - not doing anything");
Log.i(TAG, "requestSMSPermissions() - request already sent - not doing anything");
} else {
Log.i(TAG, "requestSMSPermissions() - requesting permissions");
for (int i = 0; i < SMS_PERMISSIONS.length; i++) {
@@ -522,7 +537,7 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
Log.i(TAG,"onRequestPermissionsResult - Permission" + permissions + " = " + grantResults);
Log.i(TAG, "onRequestPermissionsResult - Permission" + permissions + " = " + grantResults);
showToast("Permissions Changed - restarting server");
stopServer();
// Wait 0.1 second to give the server chance to shutdown, then re-start it

View File

@@ -128,6 +128,7 @@ public abstract class SdDataSource {
public void start() {
Log.v(TAG, "start()");
mUtil.writeToSysLogFile("SdDataSource.start()");
updatePrefs();
// Start timer to check status of watch regularly.
mDataStatusTime = new Time(Time.getCurrentTimezone());
@@ -184,6 +185,7 @@ public abstract class SdDataSource {
*/
public void stop() {
Log.v(TAG, "stop()");
mUtil.writeToSysLogFile("SDDataSource.stop()");
try {
// Stop the status timer
if (mStatusTimer != null) {
@@ -613,7 +615,7 @@ public abstract class SdDataSource {
// Only make audible warning beep if we have not received data for more than mFaultTimerPeriod seconds.
if (tdiff > (mDataUpdatePeriod + mFaultTimerPeriod) * 1000) {
Log.v(TAG, "getStatus() - Watch App Not Running");
mUtil.writeToSysLogFile("SDDataSourceBLE.getStatus() - Watch App not Running");
mUtil.writeToSysLogFile("SDDataSource.getStatus() - Watch App not Running");
//mDataStatusTime.setToNow();
mSdData.roiPower = -1;
mSdData.specPower = -1;
@@ -662,7 +664,7 @@ public abstract class SdDataSource {
*/
public void updatePrefs() {
Log.v(TAG, "updatePrefs()");
mUtil.writeToSysLogFile("SDDataSourceBLE.updatePrefs()");
mUtil.writeToSysLogFile("SDDataSource.updatePrefs()");
SharedPreferences SP = PreferenceManager
.getDefaultSharedPreferences(mContext);
try {
@@ -671,8 +673,10 @@ public abstract class SdDataSource {
String appRestartTimeoutStr = SP.getString("AppRestartTimeout", "10");
mAppRestartTimeout = Integer.parseInt(appRestartTimeoutStr);
Log.v(TAG, "updatePrefs() - mAppRestartTimeout = " + mAppRestartTimeout);
mUtil.writeToSysLogFile( "updatePrefs() - mAppRestartTimeout = " + mAppRestartTimeout);
} catch (Exception ex) {
Log.v(TAG, "updatePrefs() - Problem with AppRestartTimeout preference!");
mUtil.writeToSysLogFile( "updatePrefs() - Problem with AppRestartTimeout preference!");
Toast toast = Toast.makeText(mContext, "Problem Parsing AppRestartTimeout Preference", Toast.LENGTH_SHORT);
toast.show();
}
@@ -682,8 +686,10 @@ public abstract class SdDataSource {
String faultTimerPeriodStr = SP.getString("FaultTimerPeriod", "30");
mFaultTimerPeriod = Integer.parseInt(faultTimerPeriodStr);
Log.v(TAG, "updatePrefs() - mFaultTimerPeriod = " + mFaultTimerPeriod);
mUtil.writeToSysLogFile( "updatePrefs() - mFaultTimerPeriod = " + mFaultTimerPeriod);
} catch (Exception ex) {
Log.v(TAG, "updatePrefs() - Problem with FaultTimerPeriod preference!");
mUtil.writeToSysLogFile( "updatePrefs() - Problem with FaultTimerPeriod preference!");
Toast toast = Toast.makeText(mContext, "Problem Parsing FaultTimerPeriod Preference", Toast.LENGTH_SHORT);
toast.show();
}
@@ -694,106 +700,130 @@ public abstract class SdDataSource {
prefStr = SP.getString("BLE_Device_Addr", "SET_FROM_XML");
mBleDeviceAddr = prefStr;
Log.v(TAG, "mBLEDeviceAddr=" + mBleDeviceAddr);
mUtil.writeToSysLogFile( "mBLEDeviceAddr=" + mBleDeviceAddr);
prefStr = SP.getString("BLE_Device_Name", "SET_FROM_XML");
mBleDeviceName = prefStr;
Log.v(TAG, "mBLEDeviceName=" + mBleDeviceName);
mUtil.writeToSysLogFile( "mBLEDeviceName=" + mBleDeviceName);
prefStr = SP.getString("PebbleDebug", "SET_FROM_XML");
if (prefStr != null) {
mDebug = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() Debug = " + mDebug);
mUtil.writeToSysLogFile( "updatePrefs() Debug = " + mDebug);
prefStr = SP.getString("PebbleDisplaySpectrum", "SET_FROM_XML");
mDisplaySpectrum = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() DisplaySpectrum = " + mDisplaySpectrum);
mUtil.writeToSysLogFile( "updatePrefs() DisplaySpectrum = " + mDisplaySpectrum);
prefStr = SP.getString("PebbleUpdatePeriod", "SET_FROM_XML");
mDataUpdatePeriod = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() DataUpdatePeriod = " + mDataUpdatePeriod);
mUtil.writeToSysLogFile( "updatePrefs() DataUpdatePeriod = " + mDataUpdatePeriod);
prefStr = SP.getString("MutePeriod", "SET_FROM_XML");
mMutePeriod = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() MutePeriod = " + mMutePeriod);
mUtil.writeToSysLogFile( "updatePrefs() MutePeriod = " + mMutePeriod);
prefStr = SP.getString("ManAlarmPeriod", "SET_FROM_XML");
mManAlarmPeriod = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() ManAlarmPeriod = " + mManAlarmPeriod);
mUtil.writeToSysLogFile( "updatePrefs() ManAlarmPeriod = " + mManAlarmPeriod);
prefStr = SP.getString("PebbleSdMode", "SET_FROM_XML");
mPebbleSdMode = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() PebbleSdMode = " + mPebbleSdMode);
mUtil.writeToSysLogFile( "updatePrefs() PebbleSdMode = " + mPebbleSdMode);
prefStr = SP.getString("SampleFreq", "SET_FROM_XML");
mSampleFreq = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() SampleFreq = " + mSampleFreq);
mUtil.writeToSysLogFile( "updatePrefs() SampleFreq = " + mSampleFreq);
prefStr = SP.getString("SamplePeriod", "SET_FROM_XML");
mSamplePeriod = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() AnalysisPeriod = " + mSamplePeriod);
mUtil.writeToSysLogFile( "updatePrefs() AnalysisPeriod = " + mSamplePeriod);
prefStr = SP.getString("AlarmFreqMin", "SET_FROM_XML");
mAlarmFreqMin = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() AlarmFreqMin = " + mAlarmFreqMin);
mUtil.writeToSysLogFile( "updatePrefs() AlarmFreqMin = " + mAlarmFreqMin);
prefStr = SP.getString("AlarmFreqMax", "SET_FROM_XML");
mAlarmFreqMax = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() AlarmFreqMax = " + mAlarmFreqMax);
mUtil.writeToSysLogFile("updatePrefs() AlarmFreqMax = " + mAlarmFreqMax);
prefStr = SP.getString("WarnTime", "SET_FROM_XML");
mWarnTime = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() WarnTime = " + mWarnTime);
mUtil.writeToSysLogFile( "updatePrefs() WarnTime = " + mWarnTime);
prefStr = SP.getString("AlarmTime", "SET_FROM_XML");
mAlarmTime = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() AlarmTime = " + mAlarmTime);
mUtil.writeToSysLogFile( "updatePrefs() AlarmTime = " + mAlarmTime);
prefStr = SP.getString("AlarmThresh", "SET_FROM_XML");
mAlarmThresh = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() AlarmThresh = " + mAlarmThresh);
mUtil.writeToSysLogFile( "updatePrefs() AlarmThresh = " + mAlarmThresh);
prefStr = SP.getString("AlarmRatioThresh", "SET_FROM_XML");
mAlarmRatioThresh = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() AlarmRatioThresh = " + mAlarmRatioThresh);
mUtil.writeToSysLogFile( "updatePrefs() AlarmRatioThresh = " + mAlarmRatioThresh);
mFallActive = SP.getBoolean("FallActive", false);
Log.v(TAG, "updatePrefs() FallActive = " + mFallActive);
mUtil.writeToSysLogFile( "updatePrefs() FallActive = " + mFallActive);
prefStr = SP.getString("FallThreshMin", "SET_FROM_XML");
mFallThreshMin = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() FallThreshMin = " + mFallThreshMin);
mUtil.writeToSysLogFile( "updatePrefs() FallThreshMin = " + mFallThreshMin);
prefStr = SP.getString("FallThreshMax", "SET_FROM_XML");
mFallThreshMax = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() FallThreshMax = " + mFallThreshMax);
mUtil.writeToSysLogFile( "updatePrefs() FallThreshMax = " + mFallThreshMax);
prefStr = SP.getString("FallWindow", "SET_FROM_XML");
mFallWindow = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() FallWindow = " + mFallWindow);
mUtil.writeToSysLogFile( "updatePrefs() FallWindow = " + mFallWindow);
mSdData.mHRAlarmActive = SP.getBoolean("HRAlarmActive", false);
Log.v(TAG, "updatePrefs() HRAlarmActive = " + mSdData.mHRAlarmActive);
mUtil.writeToSysLogFile( "updatePrefs() HRAlarmActive = " + mSdData.mHRAlarmActive);
mSdData.mHRNullAsAlarm = SP.getBoolean("HRNullAsAlarm", false);
Log.v(TAG, "updatePrefs() HRNullAsAlarm = " + mSdData.mHRNullAsAlarm);
mUtil.writeToSysLogFile( "updatePrefs() HRNullAsAlarm = " + mSdData.mHRNullAsAlarm);
prefStr = SP.getString("HRThreshMin", "SET_FROM_XML");
mSdData.mHRThreshMin = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() HRThreshMin = " + mSdData.mHRThreshMin);
mUtil.writeToSysLogFile( "updatePrefs() HRThreshMin = " + mSdData.mHRThreshMin);
prefStr = SP.getString("HRThreshMax", "SET_FROM_XML");
mSdData.mHRThreshMax = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() HRThreshMax = " + mSdData.mHRThreshMax);
mUtil.writeToSysLogFile( "updatePrefs() HRThreshMax = " + mSdData.mHRThreshMax);
} else {
Log.v(TAG, "updatePrefs() - prefStr is null - WHY????");
mUtil.writeToSysLogFile("SDDataSourceBLE.updatePrefs() - prefStr is null - WHY??");
mUtil.writeToSysLogFile("SDDataSource.updatePrefs() - prefStr is null - WHY??");
Toast toast = Toast.makeText(mContext, "Problem Parsing Preferences - Something won't work - Please go back to Settings and correct it!", Toast.LENGTH_SHORT);
toast.show();
}
} catch (Exception ex) {
Log.v(TAG, "updatePrefs() - Problem parsing preferences!");
mUtil.writeToSysLogFile("SDDataSourceBLE.updatePrefs() - ERROR " + ex.toString());
mUtil.writeToSysLogFile("SDDataSource.updatePrefs() - ERROR " + ex.toString());
Toast toast = Toast.makeText(mContext, "Problem Parsing Preferences - Something won't work - Please go back to Settings and correct it!", Toast.LENGTH_SHORT);
toast.show();
}

View File

@@ -978,7 +978,7 @@ public class SdServer extends Service implements SdDataReceiver {
Log.i(TAG, "startWebServer()");
mUtil.writeToSysLogFile("SdServer.Start Web Server.");
if (webServer == null) {
webServer = new SdWebServer(getApplicationContext(), mUtil.getDataStorageDir(), mSdData, this);
webServer = new SdWebServer(getApplicationContext(), mSdData, this);
try {
webServer.start();
} catch (IOException ioe) {
@@ -1009,6 +1009,7 @@ public class SdServer extends Service implements SdDataReceiver {
} else {
if (webServer.isAlive()) {
Log.w(TAG, "stopWebServer() - server still alive???");
mUtil.writeToSysLogFile( "stopWebServer() - server still alive???");
} else {
mUtil.writeToSysLogFile("stopWebServer() - server died ok");
Log.v(TAG, "stopWebServer() - server died ok");
@@ -1025,7 +1026,7 @@ public class SdServer extends Service implements SdDataReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.v(TAG, "NetworkBroadCastReceiver.onReceive");
//mUtil.writeToSysLogFile("Network State Changed" + intent.getAction());
mUtil.writeToSysLogFile("NetworkBroadcastReceiver.onReceive(): Network State Changed" + intent.getAction());
//mUtil.showToast("Network State Changed" + intent.getAction());
ConnectivityManager cm =
@@ -1086,53 +1087,71 @@ public class SdServer extends Service implements SdDataReceiver {
try {
mSdDataSourceName = SP.getString("DataSource", "Pebble");
Log.v(TAG, "updatePrefs() - DataSource = " + mSdDataSourceName);
mUtil.writeToSysLogFile("updatePrefs() - DataSource = " + mSdDataSourceName);
mLatchAlarms = SP.getBoolean("LatchAlarms", false);
Log.v(TAG, "updatePrefs() - mLatchAlarms = " + mLatchAlarms);
mUtil.writeToSysLogFile("updatePrefs() - mLatchAlarms = " + mLatchAlarms);
// Parse the LatchAlarmPeriod setting.
try {
String latchAlarmPeriodStr = SP.getString("LatchAlarmTimerPeriod", "30");
mLatchAlarmPeriod = Integer.parseInt(latchAlarmPeriodStr);
Log.v(TAG, "updatePrefs() - mLatchAlarmTimerPeriod = " + mLatchAlarmPeriod);
mUtil.writeToSysLogFile("updatePrefs() - mLatchAlarmTimerPeriod = " + mLatchAlarmPeriod);
} catch (Exception ex) {
Log.v(TAG, "updatePrefs() - Problem with LatchAlarmTimerPeriod preference!");
mUtil.writeToSysLogFile( "updatePrefs() - Problem with LatchAlarmTimerPeriod preference!");
mUtil.showToast("Problem Parsing LatchAlarmTimerPeriod Preference");
}
mAudibleFaultWarning = SP.getBoolean("AudibleFaultWarning", true);
Log.v(TAG, "updatePrefs() - mAuidbleFaultWarning = " + mAudibleFaultWarning);
mUtil.writeToSysLogFile("updatePrefs() - mAuidbleFaultWarning = " + mAudibleFaultWarning);
// Parse the faultTimer period setting.
try {
String faultTimerPeriodStr = SP.getString("FaultTimerPeriod", "30");
mFaultTimerPeriod = Integer.parseInt(faultTimerPeriodStr);
Log.v(TAG, "updatePrefs() - mFaultTimerPeriod = " + mFaultTimerPeriod);
mUtil.writeToSysLogFile("updatePrefs() - mFaultTimerPeriod = " + mFaultTimerPeriod);
} catch (Exception ex) {
Log.v(TAG, "updatePrefs() - Problem with FaultTimerPeriod preference!");
mUtil.writeToSysLogFile("updatePrefs() - Problem with FaultTimerPeriod preference!");
mUtil.showToast("Problem Parsing FaultTimerPeriod Preference");
}
mAudibleAlarm = SP.getBoolean("AudibleAlarm", true);
Log.v(TAG, "updatePrefs() - mAuidbleAlarm = " + mAudibleAlarm);
mUtil.writeToSysLogFile("updatePrefs() - mAuidbleAlarm = " + mAudibleAlarm);
mAudibleWarning = SP.getBoolean("AudibleWarning", true);
Log.v(TAG, "updatePrefs() - mAuidbleWarning = " + mAudibleWarning);
mUtil.writeToSysLogFile("updatePrefs() - mAuidbleWarning = " + mAudibleWarning);
mMp3Alarm = SP.getBoolean("UseMp3Alarm", false);
Log.v(TAG, "updatePrefs() - mMp3Alarm = " + mMp3Alarm);
mUtil.writeToSysLogFile( "updatePrefs() - mMp3Alarm = " + mMp3Alarm);
mSMSAlarm = SP.getBoolean("SMSAlarm", false);
Log.v(TAG, "updatePrefs() - mSMSAlarm = " + mSMSAlarm);
mUtil.writeToSysLogFile( "updatePrefs() - mSMSAlarm = " + mSMSAlarm);
mPhoneAlarm = SP.getBoolean("PhoneCallAlarm", false);
Log.v(TAG, "updatePrefs() - mSMSAlarm = " + mSMSAlarm);
mUtil.writeToSysLogFile( "updatePrefs() - mSMSAlarm = " + mSMSAlarm);
String SMSNumberStr = SP.getString("SMSNumbers", "");
mSMSNumbers = SMSNumberStr.split(",");
mSMSMsgStr = SP.getString("SMSMsg", "Seizure Detected!!!");
Log.v(TAG, "updatePrefs() - SMSNumberStr = " + SMSNumberStr);
mUtil.writeToSysLogFile( "updatePrefs() - SMSNumberStr = " + SMSNumberStr);
Log.v(TAG, "updatePrefs() - mSMSNumbers = " + mSMSNumbers);
mUtil.writeToSysLogFile( "updatePrefs() - mSMSNumbers = " + mSMSNumbers);
mLogAlarms = SP.getBoolean("LogAlarms", true);
Log.v(TAG, "updatePrefs() - mLogAlarms = " + mLogAlarms);
mUtil.writeToSysLogFile("updatePrefs() - mLogAlarms = " + mLogAlarms);
mLogData = SP.getBoolean("LogData", true);
Log.v(TAG, "updatePrefs() - mLogData = " + mLogData);
mUtil.writeToSysLogFile( "updatePrefs() - mLogData = " + mLogData);
mLogDataRemote = SP.getBoolean("LogDataRemote", false);
Log.v(TAG, "updatePrefs() - mLogDataRemote = " + mLogDataRemote);
mUtil.writeToSysLogFile( "updatePrefs() - mLogDataRemote = " + mLogDataRemote);
mLogDataRemoteMobile = SP.getBoolean("LogDataRemoteMobile", false);
Log.v(TAG, "updatePrefs() - mLogDataRemoteMobile = " + mLogDataRemoteMobile);
mUtil.writeToSysLogFile("updatePrefs() - mLogDataRemoteMobile = " + mLogDataRemoteMobile);
mOSDUname = SP.getString("OSDUname", "<username>");
Log.v(TAG, "updatePrefs() - mOSDUname = " + mOSDUname);
mOSDPasswd = SP.getString("OSDPasswd", "<passwd>");
@@ -1141,6 +1160,7 @@ public class SdServer extends Service implements SdDataReceiver {
Log.v(TAG, "updatePrefs() - mOSDWearerId = " + mOSDWearerId);
mOSDUrl = SP.getString("OSDUrl", "http://openseizuredetector.org.uk/webApi");
Log.v(TAG, "updatePrefs() - mOSDUrl = " + mOSDUrl);
mUtil.writeToSysLogFile( "updatePrefs() - mOSDUrl = " + mOSDUrl);
} catch (Exception ex) {
Log.v(TAG, "updatePrefs() - Problem parsing preferences!");
mUtil.writeToSysLogFile("SdServer.updatePrefs() - Error " + ex.toString());
@@ -1184,7 +1204,7 @@ public class SdServer extends Service implements SdDataReceiver {
// Open output directory on SD Card.
if (mUtil.isExternalStorageWritable()) {
try {
FileWriter of = new FileWriter(mUtil.getDataStorageDir().toString()
FileWriter of = new FileWriter(getExternalFilesDir(null).toString()
+ "/" + fname, true);
if (mSdData != null) {
if (alarm) {

View File

@@ -2,6 +2,7 @@ package uk.org.openseizuredetector;
import android.content.Context;
import android.content.res.AssetManager;
import android.os.Handler;
import android.util.Log;
import org.json.JSONArray;
@@ -28,15 +29,17 @@ public class SdWebServer extends NanoHTTPD {
private SdData mSdData;
private SdServer mSdServer;
private Context mContext;
private File mDataStorageDir = null;
private Handler mHandler;
private OsdUtil mUtil;
public SdWebServer(Context context, File storageDir, SdData sdData, SdServer sdServer) {
public SdWebServer(Context context, SdData sdData, SdServer sdServer) {
// Set the port to listen on (8080)
super(8080);
mSdData = sdData;
mContext = context;
mSdServer = sdServer;
mDataStorageDir = storageDir;
mHandler = new Handler();
mUtil = new OsdUtil(mContext, mHandler);
}
public void setSdData(SdData sdData) {
@@ -235,16 +238,16 @@ public class SdWebServer extends NanoHTTPD {
if (uriParts.countTokens() == 1) {
Log.v(TAG, "Returning list of files");
File dirs = mDataStorageDir;
try {
JSONObject jsonObj = new JSONObject();
if (dirs.exists()) {
String[] fileList = dirs.list();
JSONArray arr = new JSONArray();
for (int i = 0; i < fileList.length; i++)
arr.put(fileList[i]);
File[] fileList = mUtil.getDataFilesList();
Log.v(TAG, "serveLogFile(): fileList=" + fileList.toString()+", length="+fileList.length);
JSONArray arr = new JSONArray();
for (int i = 0; i < fileList.length; i++) {
Log.v(TAG, "serveLogFile(): file[" + i + "]=" + fileList[i]);
arr.put(fileList[i].getName());
}
jsonObj.put("logFileList", arr);
}
res = new NanoHTTPD.Response(NanoHTTPD.Response.Status.OK,
"text/html", jsonObj.toString());
} catch (Exception ex) {
@@ -256,7 +259,7 @@ public class SdWebServer extends NanoHTTPD {
uripart = uriParts.nextToken(); // This will just be /logs
uripart = uriParts.nextToken(); // this is the requested file.
String fname = mDataStorageDir.toString() + "/" + uripart;
String fname = mUtil.getDataStorageDir().toString() + "/" + uripart;
Log.v(TAG, "serveLogFile - uri=" + uri + ", fname=" + fname);
ip = new FileInputStream(fname);
String mimeStr = "text/html";