Fixed issue with location permissions for Android versions <10 (fixes #75), and added more Polish translations by Jacek.

This commit is contained in:
Graham Jones
2023-02-04 21:01:40 +00:00
parent 467fd0cc7f
commit f504b15717
5 changed files with 61 additions and 14 deletions

View File

@@ -34,6 +34,7 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.PowerManager;
@@ -106,6 +107,7 @@ public class StartupActivity extends AppCompatActivity {
Manifest.permission.READ_PHONE_STATE,
};
// Additional permission required by Android 10 (API 29) and higher.
public final String[] LOCATION_PERMISSIONS_2 = {
Manifest.permission.ACCESS_BACKGROUND_LOCATION,
};
@@ -310,7 +312,7 @@ public class StartupActivity extends AppCompatActivity {
requestLocationPermissions1();
allOk = false;
} else if (smsAlarmsActive && !areLocationPermissions2OK()) {
Log.i(TAG,"SMS permissions2 NOT OK");
Log.i(TAG,"Location permissions2 NOT OK");
tv.setText(getString(R.string.SmsPermissionWarning));
tv.setBackgroundColor(alarmColour);
tv.setTextColor(alarmTextColour);
@@ -647,12 +649,17 @@ public class StartupActivity extends AppCompatActivity {
public boolean areLocationPermissions2OK() {
boolean allOk = true;
Log.v(TAG, "areSMSPermissions2OK()");
for (int i = 0; i < LOCATION_PERMISSIONS_2.length; i++) {
if (ContextCompat.checkSelfPermission(this, LOCATION_PERMISSIONS_2[i])
!= PackageManager.PERMISSION_GRANTED) {
Log.i(TAG, LOCATION_PERMISSIONS_2[i] + " Permission Not Granted");
allOk = false;
Log.v(TAG, "areSMSPermissions2OK() - SDK="+android.os.Build.VERSION.SDK_INT);
if (android.os.Build.VERSION.SDK_INT < 29) {
Log.d(TAG, "areLocationPermission2OK() - SDK <29 (Android 10) so permission not required");
allOk = true;
} else {
for (int i = 0; i < LOCATION_PERMISSIONS_2.length; i++) {
if (ContextCompat.checkSelfPermission(this, LOCATION_PERMISSIONS_2[i])
!= PackageManager.PERMISSION_GRANTED) {
Log.i(TAG, LOCATION_PERMISSIONS_2[i] + " Permission Not Granted");
allOk = false;
}
}
}
return allOk;

View File

@@ -43,7 +43,12 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="EventId: " />
android:text="@string/eventid" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=": " />
<TextView
android:id="@+id/eventIdTv"
@@ -60,7 +65,12 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Event Date: "
android:text="@string/event_date"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=": "
android:textSize="20sp" />
<TextView
@@ -79,7 +89,12 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alarm State: "
android:text="@string/alarm_state"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=": "
android:textSize="20sp" />
<TextView
@@ -100,6 +115,11 @@
android:layout_height="wrap_content"
android:text="@string/event_type"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=": "
android:textSize="20sp" />
<RadioGroup
android:id="@+id/eventTypeRg"
@@ -118,6 +138,12 @@
android:layout_height="wrap_content"
android:text="@string/event_sub_type"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=": "
android:textSize="20sp" />
<RadioGroup
@@ -134,7 +160,7 @@
android:layout_marginTop="16dp"
android:layout_marginRight="4dp"
android:layout_marginBottom="4dp"
android:hint="notes about event" />
android:hint="@string/notes_about_event" />
</LinearLayout>

View File

@@ -9,7 +9,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="date"
android:text="@string/date"
android:id="@+id/event_date" />
<TextView
android:layout_width="wrap_content"

View File

@@ -295,4 +295,14 @@
<string name="LogNDATitle">Zapisuj Normalne Dzienne Aktywności (NDA)</string>
<string name="LogNDASummary">Cały czas rejestruj dane w systemie udostępniania danych, aby dostarczać w tle dane dotyczące \'NDA\', w celu zmniejszenia liczby fałszywych alarmów.</string>
<string name="cancelBtnTxt">Anuluj</string>
<string name="local_database">Menadżer dziennika danych</string>
<string name="save">ZAPISZ</string>
<string name="date">Data</string>
<string name="eventid">IdZdarzenia</string>
<string name="event_date">Data Zdarzenia</string>
<string name="alarm_state">Status Alarmu</string>
<string name="event_type">Typ zdarzenia</string>
<string name="event_sub_type">Podtyp Zdarzenia</string>
<string name="notes_about_event">" informacje o zdarzeniu"</string>
<string name="not_logged_in">Nieuwierzytelniony</string>
</resources>

View File

@@ -339,8 +339,8 @@
<string name="remoteLogPeriodTitle">Remote Log Period (seconds)</string>
<string name="ManualAlarmBtnTxt">Raise Alarm</string>
<string name="save">Save</string>
<string name="event_type">Event Type:</string>
<string name="event_sub_type">"Event Sub-Type: "</string>
<string name="event_type">Event Type</string>
<string name="event_sub_type">Event Sub-Type</string>
<string name="selectFromOptionselow">"-- select option --"</string>
<string name="waitingForData">...waiting for data...</string>
<string name="refreshBtn">Refresh</string>
@@ -461,4 +461,8 @@
<string name="stop_nda_menu_title">Stop NDA</string>
<string name="start_nda_menu_title">Start NDA</string>
<string name="seizure_probability">Seizure Probability (%)</string>
<string name="eventid">EventId</string>
<string name="event_date">Event Date</string>
<string name="alarm_state">Alarm State</string>
<string name="notes_about_event">notes about event</string>
</resources>