Fixed issue with V4 refusing to shutdown after logging into the data sharing system....I think :)

This commit is contained in:
Graham Jones
2022-02-20 19:58:32 +00:00
parent 40b7c3c38a
commit 7ae102d4c3
12 changed files with 43 additions and 21 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -31,11 +31,16 @@ public class AuthenticateActivity extends AppCompatActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
Log.v(TAG, "onCreate()"); Log.d(TAG, "onCreate()");
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_authenticate); setContentView(R.layout.activity_authenticate);
mUtil = new OsdUtil(getApplicationContext(), serverStatusHandler); mUtil = new OsdUtil(getApplicationContext(), serverStatusHandler);
if (!mUtil.isServerRunning()) {
mUtil.showToast("ERROR: OpenSeizureDetector Server is not running - please re-start it");
finish();
}
mConnection = new SdServiceConnection(getApplicationContext()); mConnection = new SdServiceConnection(getApplicationContext());
Button cancelBtn = Button cancelBtn =
@@ -61,13 +66,21 @@ public class AuthenticateActivity extends AppCompatActivity {
@Override @Override
protected void onStart() { protected void onStart() {
Log.d(TAG, "onStart()");
super.onStart(); super.onStart();
mUtil.bindToServer(getApplicationContext(), mConnection); mUtil.bindToServer(getApplicationContext(), mConnection);
waitForConnection(); waitForConnection();
updateUi(); updateUi();
} }
@Override
protected void onStop() {
Log.d(TAG, "onStop()");
super.onStop();
mUtil.unbindFromServer(getApplicationContext(), mConnection);
}
private void waitForConnection() { private void waitForConnection() {
// We want the UI to update as soon as it is displayed, but it takes a finite time for // We want the UI to update as soon as it is displayed, but it takes a finite time for
// the mConnection to bind to the service, so we delay half a second to give it chance // the mConnection to bind to the service, so we delay half a second to give it chance

View File

@@ -68,6 +68,12 @@ public class LogManagerControlActivity extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
mContext = this; mContext = this;
mUtil = new OsdUtil(getApplicationContext(), serverStatusHandler); mUtil = new OsdUtil(getApplicationContext(), serverStatusHandler);
if (!mUtil.isServerRunning()) {
mUtil.showToast("ERROR: OpenSeizureDetector Server is not running - please re-start it");
finish();
}
mConnection = new SdServiceConnection(getApplicationContext()); mConnection = new SdServiceConnection(getApplicationContext());
setContentView(R.layout.activity_log_manager_control); setContentView(R.layout.activity_log_manager_control);
@@ -137,7 +143,7 @@ public class LogManagerControlActivity extends AppCompatActivity {
Log.v(TAG, "onStop()"); Log.v(TAG, "onStop()");
super.onStop(); super.onStop();
stopUiTimer(); stopUiTimer();
mUtil.unbindFromServer(this, mConnection); mUtil.unbindFromServer(getApplicationContext(), mConnection);
} }
@Override @Override
@@ -559,7 +565,7 @@ public class LogManagerControlActivity extends AppCompatActivity {
public View getView(int position, View convertView, ViewGroup parent) { public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent); View v = super.getView(position, convertView, parent);
Map<String, ?> dataItem = (Map<String,?>)getItem(position); Map<String, ?> dataItem = (Map<String,?>)getItem(position);
Log.i(TAG,dataItem.toString()); Log.v(TAG,"getView() "+dataItem.toString());
switch(dataItem.get("type").toString()) { switch(dataItem.get("type").toString()) {
case "null": case "null":
v.setBackgroundColor(Color.parseColor("#ffaaaa")); v.setBackgroundColor(Color.parseColor("#ffaaaa"));

View File

@@ -369,7 +369,7 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
protected void onStart() { protected void onStart() {
super.onStart(); super.onStart();
Log.i(TAG,"onStart()"); Log.d(TAG,"onStart()");
mUtil.writeToSysLogFile("MainActivity.onStart()"); mUtil.writeToSysLogFile("MainActivity.onStart()");
SharedPreferences SP = PreferenceManager SharedPreferences SP = PreferenceManager
.getDefaultSharedPreferences(getBaseContext()); .getDefaultSharedPreferences(getBaseContext());
@@ -403,7 +403,7 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
protected void onStop() { protected void onStop() {
super.onStop(); super.onStop();
Log.i(TAG,"onStop() - unbinding from server"); Log.d(TAG,"onStop() - unbinding from server");
mUtil.writeToSysLogFile("MainActivity.onStop()"); mUtil.writeToSysLogFile("MainActivity.onStop()");
mUtil.unbindFromServer(this, mConnection); mUtil.unbindFromServer(this, mConnection);
mUiTimer.cancel(); mUiTimer.cancel();
@@ -903,14 +903,14 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
Log.i(TAG,"onPause()"); Log.d(TAG,"onPause()");
mUtil.writeToSysLogFile("MainActivity.onPause()"); mUtil.writeToSysLogFile("MainActivity.onPause()");
} }
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
Log.i(TAG,"onResume()"); Log.d(TAG,"onResume()");
mUtil.writeToSysLogFile("MainActivity.onResume()"); mUtil.writeToSysLogFile("MainActivity.onResume()");
} }

View File

@@ -226,7 +226,7 @@ public class OsdUtil implements ActivityCompat.OnRequestPermissionsResultCallbac
/** /**
* unbind an activity from server * unbind an activity from server
*/ */
public void unbindFromServer(Activity activity, SdServiceConnection sdServiceConnection) { public void unbindFromServer(Context activity, SdServiceConnection sdServiceConnection) {
// unbind this activity from the service if it is bound. // unbind this activity from the service if it is bound.
if (sdServiceConnection.mBound) { if (sdServiceConnection.mBound) {
Log.i(TAG, "unbindFromServer() - unbinding"); Log.i(TAG, "unbindFromServer() - unbinding");

View File

@@ -360,7 +360,7 @@ public class SdServer extends Service implements SdDataReceiver {
if (mWakeLock != null) { if (mWakeLock != null) {
try { try {
mWakeLock.release(); mWakeLock.release();
Log.v(TAG, "Released Wake Lock to allow device to sleep."); Log.d(TAG, "Released Wake Lock to allow device to sleep.");
} catch (Exception e) { } catch (Exception e) {
Log.e(TAG, "Error Releasing Wakelock - " + e.toString()); Log.e(TAG, "Error Releasing Wakelock - " + e.toString());
mUtil.writeToSysLogFile("SdServer.onDestroy() - Error releasing wakelock."); mUtil.writeToSysLogFile("SdServer.onDestroy() - Error releasing wakelock.");
@@ -372,7 +372,7 @@ public class SdServer extends Service implements SdDataReceiver {
} }
if (mSdDataSource != null) { if (mSdDataSource != null) {
Log.i(TAG, "stopping mSdDataSource"); Log.d(TAG, "stopping mSdDataSource");
mUtil.writeToSysLogFile("SdServer.onDestroy() - stopping mSdDataSource"); mUtil.writeToSysLogFile("SdServer.onDestroy() - stopping mSdDataSource");
mSdDataSource.stop(); mSdDataSource.stop();
} else { } else {
@@ -382,7 +382,7 @@ public class SdServer extends Service implements SdDataReceiver {
// Stop the Cancel Audible timer // Stop the Cancel Audible timer
if (mCancelAudibleTimer != null) { if (mCancelAudibleTimer != null) {
Log.v(TAG, "onDestroy(): cancelling Cancel_Audible timer"); Log.d(TAG, "onDestroy(): cancelling Cancel_Audible timer");
mCancelAudibleTimer.cancel(); mCancelAudibleTimer.cancel();
//mCancelAudibleTimer.purge(); //mCancelAudibleTimer.purge();
mCancelAudibleTimer = null; mCancelAudibleTimer = null;
@@ -391,23 +391,25 @@ public class SdServer extends Service implements SdDataReceiver {
// Stop the Fault timer // Stop the Fault timer
if (mFaultTimer != null) { if (mFaultTimer != null) {
Log.v(TAG, "onDestroy(): cancelling fault timer"); Log.d(TAG, "onDestroy(): cancelling fault timer");
mFaultTimer.cancel(); mFaultTimer.cancel();
mFaultTimer = null; mFaultTimer = null;
} }
// Stop the Event timer // Stop the Event timer
if (mEventsTimer != null) { if (mEventsTimer != null) {
Log.v(TAG, "onDestroy(): Cancelling events timer"); Log.d(TAG, "onDestroy(): Cancelling events timer");
stopValidatedEventsTimer(); stopValidatedEventsTimer();
} }
// Stop the Cancel Alarm Latch timer // Stop the Cancel Alarm Latch timer
Log.d(TAG,"onDestroy(): stopping alarm latch timer");
stopLatchTimer(); stopLatchTimer();
// Stop the location finder. // Stop the location finder.
if (mLocationFinder != null) { if (mLocationFinder != null) {
Log.d(TAG,"onDestroy(): stopping Location Finder");
mLocationFinder.destroy(); mLocationFinder.destroy();
mLocationFinder = null; mLocationFinder = null;
} }
@@ -415,7 +417,7 @@ public class SdServer extends Service implements SdDataReceiver {
try { try {
// Stop web server // Stop web server
Log.v(TAG, "onDestroy(): stopping web server"); Log.d(TAG, "onDestroy(): stopping web server");
mUtil.writeToSysLogFile("SdServer.onDestroy() - stopping Web Server"); mUtil.writeToSysLogFile("SdServer.onDestroy() - stopping Web Server");
stopWebServer(); stopWebServer();
@@ -425,24 +427,24 @@ public class SdServer extends Service implements SdDataReceiver {
this.stopForeground(true); this.stopForeground(true);
// Cancel the notification. // Cancel the notification.
Log.v(TAG, "onDestroy(): cancelling notification"); Log.d(TAG, "onDestroy(): cancelling notification");
mUtil.writeToSysLogFile("SdServer.onDestroy - cancelling notification"); mUtil.writeToSysLogFile("SdServer.onDestroy - cancelling notification");
mNM.cancel(NOTIFICATION_ID); mNM.cancel(NOTIFICATION_ID);
mNM.cancel(EVENT_NOTIFICATION_ID); mNM.cancel(EVENT_NOTIFICATION_ID);
// stop this service. // stop this service.
Log.v(TAG, "onDestroy(): calling stopSelf()"); Log.d(TAG, "onDestroy(): calling stopSelf()");
mUtil.writeToSysLogFile("SdServer.onDestroy() - stopping self"); mUtil.writeToSysLogFile("SdServer.onDestroy() - stopping self");
stopSelf(); stopSelf();
} catch (Exception e) { } catch (Exception e) {
Log.v(TAG, "Error in onDestroy() - " + e.toString()); Log.e(TAG, "Error in onDestroy() - " + e.toString());
mUtil.writeToSysLogFile("SdServer.onDestroy() -error " + e.toString()); mUtil.writeToSysLogFile("SdServer.onDestroy() -error " + e.toString());
} }
if (mLm != null) { if (mLm != null) {
Log.i(TAG, "Closing Down Log Manager"); Log.d(TAG, "Closing Down Log Manager");
mLm.close(); mLm.close();
} }
@@ -1594,10 +1596,10 @@ public class SdServer extends Service implements SdDataReceiver {
public void stopValidatedEventsTimer() { public void stopValidatedEventsTimer() {
if (mEventsTimer != null) { if (mEventsTimer != null) {
Log.v(TAG, "stopEventsTimer(): timer already running - cancelling it."); Log.v(TAG, "stopEventsTimer(): timer already running - cancelling it.");
mUtil.writeToSysLogFile("stopEventsTimer() - stopping timer"); mUtil.writeToSysLogFile("stopEventsTimer() - stopping timer, setting mIsRunning to false");
mEventsTimer.mIsRunning = false; mEventsTimer.mIsRunning = false;
mEventsTimer.cancel(); mEventsTimer.cancel();
mEventsTimer = null; //mEventsTimer = null;
} else { } else {
Log.v(TAG, "stopEventsTimer(): timer not running - not doing anything."); Log.v(TAG, "stopEventsTimer(): timer not running - not doing anything.");
} }
@@ -1658,6 +1660,7 @@ public class SdServer extends Service implements SdDataReceiver {
} }
if (mIsRunning) { if (mIsRunning) {
// Restart this timer. // Restart this timer.
Log.v(TAG,"CheckUnvalidatedEventsTimer.onFinish() - mIsRunning is true, so re-starting timer");
start(); start();
} }
} }