V2.6.1 - Explicitly request SMS permission, and provide warnings in notification if active.

This commit is contained in:
Graham Jones
2019-01-27 21:31:22 +00:00
parent 6d5771181f
commit 79d0cc9e24
7 changed files with 46 additions and 52 deletions

View File

@@ -140,6 +140,12 @@ public class PrefActivity extends PreferenceActivity implements SharedPreference
}
}, 100);
if (s.equals("DataSource")) {
Log.i(TAG,"DataSource Changed - re-starting PrefActivity to refresh list");
finish();
startActivity(getIntent());
}
}

View File

@@ -747,34 +747,39 @@ public class SdServer extends Service implements SdDataReceiver, SdLocationRecei
*/
public void sendSMSAlarm() {
if (mSMSAlarm) {
mLocationFinder.getLocation(this);
Location loc = mLocationFinder.getLastLocation();
if (loc != null) {
mUtil.showToast("Send SMS - last location is "
+ loc.getLongitude() + ","
+ loc.getLatitude());
if (!mUtil.areSMSPermissionsOK()) {
mUtil.showToast("ERROR - Permission for SMS or Location Denied - Not Sending SMS");
Log.e(TAG,"ERROR - Permission for SMS or Location Denied - Not Sending SMS");
} else {
Log.i(TAG, "sendSMSAlarm() - Last Location is Null so sending first SMS without location.");
}
Log.i(TAG, "sendSMSAlarm() - Sending to " + mSMSNumbers.length + " Numbers");
mUtil.writeToSysLogFile("SdServer.sendSMSAlarm()");
Time tnow = new Time(Time.getCurrentTimezone());
tnow.setToNow();
String dateStr = tnow.format("%H:%M:%S %d/%m/%Y");
// SmsManager sm = SmsManager.getDefault();
for (int i = 0; i < mSMSNumbers.length; i++) {
Log.i(TAG, "sendSMSAlarm() - Sending to " + mSMSNumbers[i]);
sendSMS(new String(mSMSNumbers[i]),mSMSMsgStr + " - " + dateStr);
// sm.sendTextMessage(mSMSNumbers[i], null, mSMSMsgStr + " - " + dateStr, null, null);
//Intent intent = new Intent(Intent.ACTION_SEND);
//intent.setDataAndType(Uri.parse("smsto:"), "text/plain");
//intent.putExtra("sms_body", mSMSMsgStr + " - " + dateStr);
//intent.putExtra("address", new String(mSMSNumbers[i]));
//if (intent.resolveActivity(getPackageManager()) != null) {
// startActivity(intent);
//} else {
// Log.e(TAG, "sendSMSAlarm() - Failed to send SMS - can not find activity do do it");
//}
mLocationFinder.getLocation(this);
Location loc = mLocationFinder.getLastLocation();
if (loc != null) {
mUtil.showToast("Send SMS - last location is "
+ loc.getLongitude() + ","
+ loc.getLatitude());
} else {
Log.i(TAG, "sendSMSAlarm() - Last Location is Null so sending first SMS without location.");
}
Log.i(TAG, "sendSMSAlarm() - Sending to " + mSMSNumbers.length + " Numbers");
mUtil.writeToSysLogFile("SdServer.sendSMSAlarm()");
Time tnow = new Time(Time.getCurrentTimezone());
tnow.setToNow();
String dateStr = tnow.format("%H:%M:%S %d/%m/%Y");
// SmsManager sm = SmsManager.getDefault();
for (int i = 0; i < mSMSNumbers.length; i++) {
Log.i(TAG, "sendSMSAlarm() - Sending to " + mSMSNumbers[i]);
sendSMS(new String(mSMSNumbers[i]), mSMSMsgStr + " - " + dateStr);
// sm.sendTextMessage(mSMSNumbers[i], null, mSMSMsgStr + " - " + dateStr, null, null);
//Intent intent = new Intent(Intent.ACTION_SEND);
//intent.setDataAndType(Uri.parse("smsto:"), "text/plain");
//intent.putExtra("sms_body", mSMSMsgStr + " - " + dateStr);
//intent.putExtra("address", new String(mSMSNumbers[i]));
//if (intent.resolveActivity(getPackageManager()) != null) {
// startActivity(intent);
//} else {
// Log.e(TAG, "sendSMSAlarm() - Failed to send SMS - can not find activity do do it");
//}
}
}
} else {
Log.i(TAG, "sendSMSAlarm() - SMS Alarms Disabled - not doing anything!");

View File

@@ -110,7 +110,6 @@ public class StartupActivity extends Activity {
PreferenceManager.setDefaultValues(this, R.xml.general_prefs, true);
PreferenceManager.setDefaultValues(this, R.xml.network_datasource_prefs, true);
PreferenceManager.setDefaultValues(this, R.xml.pebble_datasource_prefs, true);
PreferenceManager.setDefaultValues(this, R.xml.garmin_datasource_prefs, true);
PreferenceManager.setDefaultValues(this, R.xml.seizure_detector_prefs, true);
PreferenceManager.setDefaultValues(this, R.xml.network_passive_datasource_prefs, true);
@@ -491,6 +490,8 @@ public class StartupActivity extends Activity {
+ "\n\nChanges in this version:"
+ "\n- Upgraded to be compatible with Android Version 8 (a requirement of Google Play Store)"
+ "\n- Added support for an experimental Gramin based seizure detector with Heart Rate alarm "
+ "\n Fixed problem with app not restarting properly when settings were changed"
+ "\n- Explicitly asks for SMS permission, and displays warning in notification if SMS alarms are active"
+ "\n "
+ "\n PLEASE NOTE - THIS IS A BETA TEST VERSION SO MAY NOT WORK!"
+ "\n ."
@@ -525,9 +526,11 @@ public class StartupActivity extends Activity {
+ "\n\nChanges in this version:"
+ "\n- Upgraded to be compatible with Android Version 8 (a requirement of Google Play Store)"
+ "\n- Added support for an experimental Gramin based seizure detector with Heart Rate alarm "
+ "\n- Fixed problem with app not restarting properly when settings were changed"
+ "\n- Explicitly asks for SMS permission, and displays warning in notification if SMS alarms are active"
+ "\n "
+ "\n PLEASE NOTE - THIS IS A BETA TEST VERSION SO MAY NOT WORK!"
+ "\n- "
+ "\n "
);
// This makes the links display as links, but they do not respond to clicks for some reason...
Linkify.addLinks(s, Linkify.ALL);