Many fixes
This commit is contained in:
@ -32,6 +32,7 @@ import android.telephony.SubscriptionManager;
|
|||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
|
import android.view.WindowManager;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
@ -2054,6 +2055,9 @@ public class Actions
|
|||||||
android.provider.Settings.System.putInt(context.getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE, android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
|
android.provider.Settings.System.putInt(context.getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE, android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
|
||||||
|
|
||||||
int actualBrightnessValue = (int) ((float) brightnessValue / 100.0 * 255.0);
|
int actualBrightnessValue = (int) ((float) brightnessValue / 100.0 * 255.0);
|
||||||
|
if(actualBrightnessValue == 0)
|
||||||
|
actualBrightnessValue = 1; // seems to be the minimum, 0 isn't working
|
||||||
|
|
||||||
android.provider.Settings.System.putInt(context.getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS, actualBrightnessValue);
|
android.provider.Settings.System.putInt(context.getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS, actualBrightnessValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.jens.automation2;
|
package com.jens.automation2;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
@ -7,6 +8,7 @@ import android.content.ActivityNotFoundException;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.location.Criteria;
|
import android.location.Criteria;
|
||||||
import android.location.Location;
|
import android.location.Location;
|
||||||
import android.location.LocationListener;
|
import android.location.LocationListener;
|
||||||
@ -23,6 +25,9 @@ import android.widget.EditText;
|
|||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.content.PermissionChecker;
|
||||||
|
|
||||||
import com.jens.automation2.receivers.ConnectivityReceiver;
|
import com.jens.automation2.receivers.ConnectivityReceiver;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
@ -40,6 +45,7 @@ public class ActivityManagePoi extends Activity
|
|||||||
EditText guiPoiName, guiPoiLatitude, guiPoiLongitude, guiPoiRadius;
|
EditText guiPoiName, guiPoiLatitude, guiPoiLongitude, guiPoiRadius;
|
||||||
Calendar locationSearchStart = null;
|
Calendar locationSearchStart = null;
|
||||||
Timer timer = null;
|
Timer timer = null;
|
||||||
|
int requestCodeGetLocationPermission = 1293;
|
||||||
|
|
||||||
final static int defaultRadius = 250;
|
final static int defaultRadius = 250;
|
||||||
final static int searchTimeout = 120;
|
final static int searchTimeout = 120;
|
||||||
@ -77,6 +83,14 @@ public class ActivityManagePoi extends Activity
|
|||||||
public void onClick(View v)
|
public void onClick(View v)
|
||||||
{
|
{
|
||||||
hideKeyboard();
|
hideKeyboard();
|
||||||
|
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||||
|
{
|
||||||
|
if (ActivityPermissions.havePermission(Manifest.permission.ACCESS_FINE_LOCATION, ActivityManagePoi.this))
|
||||||
|
getNotificationDialog(getResources().getString(R.string.positioningWindowNotice)).show();
|
||||||
|
else
|
||||||
|
requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, requestCodeGetLocationPermission);
|
||||||
|
}
|
||||||
|
else
|
||||||
getNotificationDialog(getResources().getString(R.string.positioningWindowNotice)).show();
|
getNotificationDialog(getResources().getString(R.string.positioningWindowNotice)).show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -112,6 +126,19 @@ public class ActivityManagePoi extends Activity
|
|||||||
// new Poi to be created
|
// new Poi to be created
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults)
|
||||||
|
{
|
||||||
|
if(requestCode == requestCodeGetLocationPermission)
|
||||||
|
{
|
||||||
|
if(permissions[0].equals(Manifest.permission.ACCESS_FINE_LOCATION) && grantResults[0] == PackageManager.PERMISSION_GRANTED)
|
||||||
|
getNotificationDialog(getResources().getString(R.string.positioningWindowNotice)).show();
|
||||||
|
else
|
||||||
|
Toast.makeText(ActivityManagePoi.this, getResources().getString(R.string.locationPermissionRequired), Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
|
// super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
|
}
|
||||||
|
|
||||||
private void createPoi()
|
private void createPoi()
|
||||||
{
|
{
|
||||||
myLocationManager.removeUpdates(myLocationListenerGps);
|
myLocationManager.removeUpdates(myLocationListenerGps);
|
||||||
@ -314,20 +341,20 @@ public class ActivityManagePoi extends Activity
|
|||||||
public void onClick(DialogInterface dialog, int which)
|
public void onClick(DialogInterface dialog, int which)
|
||||||
{
|
{
|
||||||
progressDialog = ProgressDialog.show(ActivityManagePoi.this, "", getResources().getString(R.string.gettingPosition), true, true);
|
progressDialog = ProgressDialog.show(ActivityManagePoi.this, "", getResources().getString(R.string.gettingPosition), true, true);
|
||||||
if(Build.VERSION.SDK_INT >= 31)
|
// if(Build.VERSION.SDK_INT >= 31)
|
||||||
{
|
// {
|
||||||
AlertDialog dia = Miscellaneous.messageBox(getResources().getString(R.string.info), getResources().getString(R.string.locationNotWorkingOn12), ActivityManagePoi.this);
|
// AlertDialog dia = Miscellaneous.messageBox(getResources().getString(R.string.info), getResources().getString(R.string.locationNotWorkingOn12), ActivityManagePoi.this);
|
||||||
dia.setOnDismissListener(new DialogInterface.OnDismissListener()
|
// dia.setOnDismissListener(new DialogInterface.OnDismissListener()
|
||||||
{
|
// {
|
||||||
@Override
|
// @Override
|
||||||
public void onDismiss(DialogInterface dialogInterface)
|
// public void onDismiss(DialogInterface dialogInterface)
|
||||||
{
|
// {
|
||||||
getLocation();
|
// getLocation();
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
dia.show();
|
// dia.show();
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
getLocation();
|
getLocation();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,7 @@ package com.jens.automation2;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
@ -38,6 +39,9 @@ public class ActivityManageTriggerTimeFrame extends Activity
|
|||||||
Miscellaneous.setDisplayLanguage(this);
|
Miscellaneous.setDisplayLanguage(this);
|
||||||
setContentView(R.layout.activity_manage_trigger_timeframe);
|
setContentView(R.layout.activity_manage_trigger_timeframe);
|
||||||
|
|
||||||
|
if(Build.VERSION.SDK_INT == 34)
|
||||||
|
Miscellaneous.messageBox(getResources().getString(R.string.info), getResources().getString(R.string.Android14TimePickerHint), ActivityManageTriggerTimeFrame.this).show();
|
||||||
|
|
||||||
startPicker = (TimePicker)findViewById(R.id.tpTimeFrameStart);
|
startPicker = (TimePicker)findViewById(R.id.tpTimeFrameStart);
|
||||||
stopPicker = (TimePicker)findViewById(R.id.tpTimeFrameStop);
|
stopPicker = (TimePicker)findViewById(R.id.tpTimeFrameStop);
|
||||||
startPicker.setIs24HourView(true);
|
startPicker.setIs24HourView(true);
|
||||||
|
@ -565,7 +565,10 @@ public class ActivityPermissions extends Activity
|
|||||||
addToArrayListUnique(Manifest.permission.INTERNET, requiredPermissions);
|
addToArrayListUnique(Manifest.permission.INTERNET, requiredPermissions);
|
||||||
break;
|
break;
|
||||||
case timeFrame:
|
case timeFrame:
|
||||||
if(Build.VERSION.SDK_INT >= 31 && Miscellaneous.getTargetSDK(Miscellaneous.getAnyContext()) >= 31)
|
if(Build.VERSION.SDK_INT >= 31 && Miscellaneous.getTargetSDK(Miscellaneous.getAnyContext()) >= 31
|
||||||
|
// ||
|
||||||
|
// Build.VERSION.SDK_INT >= 33
|
||||||
|
)
|
||||||
addToArrayListUnique(Manifest.permission.SCHEDULE_EXACT_ALARM, requiredPermissions);
|
addToArrayListUnique(Manifest.permission.SCHEDULE_EXACT_ALARM, requiredPermissions);
|
||||||
break;
|
break;
|
||||||
case usb_host_connection:
|
case usb_host_connection:
|
||||||
@ -697,7 +700,7 @@ public class ActivityPermissions extends Activity
|
|||||||
// addToArrayListUnique("net.kollnig.missioncontrol.permission.ADMIN", requiredPermissions);
|
// addToArrayListUnique("net.kollnig.missioncontrol.permission.ADMIN", requiredPermissions);
|
||||||
if(Build.VERSION.SDK_INT >= 29)
|
if(Build.VERSION.SDK_INT >= 29)
|
||||||
{
|
{
|
||||||
String parts[];
|
String[] parts;
|
||||||
if(action.getParameter2().contains(Action.actionParameter2Split))
|
if(action.getParameter2().contains(Action.actionParameter2Split))
|
||||||
parts = action.getParameter2().split(Action.actionParameter2Split);
|
parts = action.getParameter2().split(Action.actionParameter2Split);
|
||||||
else
|
else
|
||||||
@ -705,7 +708,15 @@ public class ActivityPermissions extends Activity
|
|||||||
|
|
||||||
// Permission only required for starts of activity, not broadcasts or services
|
// Permission only required for starts of activity, not broadcasts or services
|
||||||
|
|
||||||
if(parts[2].equals(ActivityManageActionStartActivity.startByActivityString))
|
if(
|
||||||
|
(
|
||||||
|
parts.length >= 4
|
||||||
|
&&
|
||||||
|
parts[3].equals(ActivityManageActionStartActivity.startByActivityString)
|
||||||
|
)
|
||||||
|
||
|
||||||
|
parts[2].equals(ActivityManageActionStartActivity.startByActivityString)
|
||||||
|
)
|
||||||
addToArrayListUnique(Manifest.permission.SYSTEM_ALERT_WINDOW, requiredPermissions);
|
addToArrayListUnique(Manifest.permission.SYSTEM_ALERT_WINDOW, requiredPermissions);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1073,14 +1084,14 @@ public class ActivityPermissions extends Activity
|
|||||||
ArrayList<String> permissionList = new ArrayList<String>();
|
ArrayList<String> permissionList = new ArrayList<String>();
|
||||||
for(String permission : permissionNames)
|
for(String permission : permissionNames)
|
||||||
{
|
{
|
||||||
if(permissionNames.equals(Manifest.permission.PROCESS_OUTGOING_CALLS))
|
if(permission.equals(Manifest.permission.PROCESS_OUTGOING_CALLS))
|
||||||
{
|
{
|
||||||
if(ActivityPermissions.isPermissionDeclaredInManifest(Miscellaneous.getAnyContext(), Manifest.permission.PROCESS_OUTGOING_CALLS) && !Miscellaneous.isGooglePlayInstalled(Miscellaneous.getAnyContext()))
|
if(ActivityPermissions.isPermissionDeclaredInManifest(Miscellaneous.getAnyContext(), Manifest.permission.PROCESS_OUTGOING_CALLS) && !Miscellaneous.isGooglePlayInstalled(Miscellaneous.getAnyContext()))
|
||||||
{
|
{
|
||||||
permissionList.add(permission);
|
permissionList.add(permission);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(permissionNames.equals(Manifest.permission.SEND_SMS))
|
else if(permission.equals(Manifest.permission.SEND_SMS))
|
||||||
{
|
{
|
||||||
if(ActivityPermissions.isPermissionDeclaredInManifest(Miscellaneous.getAnyContext(), Manifest.permission.SEND_SMS) && !Miscellaneous.isGooglePlayInstalled(Miscellaneous.getAnyContext()))
|
if(ActivityPermissions.isPermissionDeclaredInManifest(Miscellaneous.getAnyContext(), Manifest.permission.SEND_SMS) && !Miscellaneous.isGooglePlayInstalled(Miscellaneous.getAnyContext()))
|
||||||
{
|
{
|
||||||
|
@ -218,7 +218,7 @@ public class DateTimeListener extends BroadcastReceiver implements AutomationLis
|
|||||||
|
|
||||||
private static void scheduleNextAlarm()
|
private static void scheduleNextAlarm()
|
||||||
{
|
{
|
||||||
Long currentTime = System.currentTimeMillis();
|
long currentTime = System.currentTimeMillis();
|
||||||
ScheduleElement scheduleCandidate = null;
|
ScheduleElement scheduleCandidate = null;
|
||||||
|
|
||||||
if(alarmCandidates.size() == 0)
|
if(alarmCandidates.size() == 0)
|
||||||
|
@ -17,12 +17,7 @@
|
|||||||
android:key="startServiceAfterAppUpdate"
|
android:key="startServiceAfterAppUpdate"
|
||||||
android:summary="@string/startServiceAfterAppUpdate"
|
android:summary="@string/startServiceAfterAppUpdate"
|
||||||
android:title="@string/startServiceAfterAppUpdateShort" />
|
android:title="@string/startServiceAfterAppUpdateShort" />
|
||||||
<!--
|
|
||||||
<CheckBoxPreference
|
|
||||||
android:key="startNewThreadForRuleActivation"
|
|
||||||
android:summary="@string/startNewThreadForRuleExecution"
|
|
||||||
android:title="@string/newThreadRules" />
|
|
||||||
-->
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="showIconWhenServiceIsRunning"
|
android:key="showIconWhenServiceIsRunning"
|
||||||
android:summary="@string/showIconWhenServiceIsRunning"
|
android:summary="@string/showIconWhenServiceIsRunning"
|
||||||
@ -42,13 +37,13 @@
|
|||||||
android:key="logLevel"
|
android:key="logLevel"
|
||||||
android:summary="@string/logLevelSummary"
|
android:summary="@string/logLevelSummary"
|
||||||
android:title="@string/logLevelTitle"
|
android:title="@string/logLevelTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="logFileMaxSize"
|
android:key="logFileMaxSize"
|
||||||
android:summary="@string/logFileMaxSizeSummary"
|
android:summary="@string/logFileMaxSizeSummary"
|
||||||
android:title="@string/logFileMaxSizeTitle"
|
android:title="@string/logFileMaxSizeTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:key="startScreen"
|
android:key="startScreen"
|
||||||
@ -119,20 +114,10 @@
|
|||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:summary="@string/positioningSettings"
|
android:summary="@string/positioningSettings"
|
||||||
android:title="@string/positioningSettings">
|
android:title="@string/positioningSettings">
|
||||||
|
|
||||||
<!-- android:id="@id/lstPositioningEngine"-->
|
|
||||||
<!--
|
|
||||||
<ListPreference
|
|
||||||
android:title="@string/positioningEngine"
|
|
||||||
android:key="positioningEngine"
|
|
||||||
android:defaultValue="0"
|
|
||||||
android:entries="@array/positioningEngineOptions"
|
|
||||||
android:entryValues="@array/positioningEngineOptionsValues" />
|
|
||||||
-->
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="useWifiForPositioning"
|
android:key="useWifiForPositioning"
|
||||||
android:summary="@string/listenToWifiState"
|
android:summary="@string/listenToWifiState"
|
||||||
@ -147,19 +132,19 @@
|
|||||||
android:key="useAccelerometerAfterIdleTime"
|
android:key="useAccelerometerAfterIdleTime"
|
||||||
android:summary="@string/accelerometerTimer"
|
android:summary="@string/accelerometerTimer"
|
||||||
android:title="@string/cellMastIdleTime"
|
android:title="@string/cellMastIdleTime"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="accelerometerMovementThreshold"
|
android:key="accelerometerMovementThreshold"
|
||||||
android:summary="@string/accelerometerThresholdDescription"
|
android:summary="@string/accelerometerThresholdDescription"
|
||||||
android:title="@string/accelerometerThreshold"
|
android:title="@string/accelerometerThreshold"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="speedMaximumTimeBetweenLocations"
|
android:key="speedMaximumTimeBetweenLocations"
|
||||||
android:summary="@string/speedMaximumTimeBetweenLocations"
|
android:summary="@string/speedMaximumTimeBetweenLocations"
|
||||||
android:title="@string/speedMaximumTime"
|
android:title="@string/speedMaximumTime"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="rememberLastActivePoi"
|
android:key="rememberLastActivePoi"
|
||||||
@ -181,37 +166,31 @@
|
|||||||
android:key="MINIMUM_DISTANCE_CHANGE_FOR_GPS_UPDATE"
|
android:key="MINIMUM_DISTANCE_CHANGE_FOR_GPS_UPDATE"
|
||||||
android:summary="@string/minimumDistanceChangeForGpsLocationUpdates"
|
android:summary="@string/minimumDistanceChangeForGpsLocationUpdates"
|
||||||
android:title="@string/distanceForGpsUpdate"
|
android:title="@string/distanceForGpsUpdate"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="MINIMUM_DISTANCE_CHANGE_FOR_NETWORK_UPDATE"
|
android:key="MINIMUM_DISTANCE_CHANGE_FOR_NETWORK_UPDATE"
|
||||||
android:summary="@string/minimumDistanceChangeForNetworkLocationUpdates"
|
android:summary="@string/minimumDistanceChangeForNetworkLocationUpdates"
|
||||||
android:title="@string/distanceForNetworkUpdate"
|
android:title="@string/distanceForNetworkUpdate"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
<!-- We won't need this setting anymore, at least it won't be available for the user.
|
|
||||||
<EditTextPreference
|
|
||||||
android:key="SATISFACTORY_ACCURACY_GPS"
|
|
||||||
android:summary="@string/satisfactoryAccuracyGps"
|
|
||||||
android:title="@string/gpsAccuracy"
|
|
||||||
android:inputType="number"></EditTextPreference>
|
|
||||||
-->
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="SATISFACTORY_ACCURACY_NETWORK"
|
android:key="SATISFACTORY_ACCURACY_NETWORK"
|
||||||
android:summary="@string/satisfactoryAccuracyNetwork"
|
android:summary="@string/satisfactoryAccuracyNetwork"
|
||||||
android:title="@string/networkAccuracy"
|
android:title="@string/networkAccuracy"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="MINIMUM_TIME_BETWEEN_UPDATE"
|
android:key="MINIMUM_TIME_BETWEEN_UPDATE"
|
||||||
android:summary="@string/minimumTimeForLocationUpdates"
|
android:summary="@string/minimumTimeForLocationUpdates"
|
||||||
android:title="@string/timeForUpdate"
|
android:title="@string/timeForUpdate"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="gpsTimeout"
|
android:key="gpsTimeout"
|
||||||
android:summary="@string/timeoutForGpsComparisonsSummary"
|
android:summary="@string/timeoutForGpsComparisonsSummary"
|
||||||
android:title="@string/timeoutForGpsComparisonsTitle"
|
android:title="@string/timeoutForGpsComparisonsTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number"/>
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
@ -223,19 +202,19 @@
|
|||||||
android:key="timeBetweenNoiseLevelMeasurements"
|
android:key="timeBetweenNoiseLevelMeasurements"
|
||||||
android:summary="@string/timeBetweenNoiseLevelMeasurementsSummary"
|
android:summary="@string/timeBetweenNoiseLevelMeasurementsSummary"
|
||||||
android:title="@string/timeBetweenNoiseLevelMeasurementsTitle"
|
android:title="@string/timeBetweenNoiseLevelMeasurementsTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="lengthOfNoiseLevelMeasurements"
|
android:key="lengthOfNoiseLevelMeasurements"
|
||||||
android:summary="@string/lengthOfNoiseLevelMeasurementsSummary"
|
android:summary="@string/lengthOfNoiseLevelMeasurementsSummary"
|
||||||
android:title="@string/lengthOfNoiseLevelMeasurementsTitle"
|
android:title="@string/lengthOfNoiseLevelMeasurementsTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="referenceValueForNoiseLevelMeasurements"
|
android:key="referenceValueForNoiseLevelMeasurements"
|
||||||
android:summary="@string/referenceValueForNoiseLevelMeasurementsSummary"
|
android:summary="@string/referenceValueForNoiseLevelMeasurementsSummary"
|
||||||
android:title="@string/referenceValueForNoiseLevelMeasurementsTitle"
|
android:title="@string/referenceValueForNoiseLevelMeasurementsTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
@ -252,19 +231,19 @@
|
|||||||
android:key="httpAttempts"
|
android:key="httpAttempts"
|
||||||
android:summary="@string/httpAttemptsSummary"
|
android:summary="@string/httpAttemptsSummary"
|
||||||
android:title="@string/httpAttemptsTitle"
|
android:title="@string/httpAttemptsTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="httpAttemptsTimeout"
|
android:key="httpAttemptsTimeout"
|
||||||
android:summary="@string/httpAttemptsTimeoutSummary"
|
android:summary="@string/httpAttemptsTimeoutSummary"
|
||||||
android:title="@string/httpAttemptsTimeoutTitle"
|
android:title="@string/httpAttemptsTimeoutTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="httpAttemptGap"
|
android:key="httpAttemptGap"
|
||||||
android:summary="@string/httpAttemptGapSummary"
|
android:summary="@string/httpAttemptGapSummary"
|
||||||
android:title="@string/httpAttemptGapTitle"
|
android:title="@string/httpAttemptGapTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
@ -276,7 +255,7 @@
|
|||||||
android:key="timeBetweenProcessMonitorings"
|
android:key="timeBetweenProcessMonitorings"
|
||||||
android:summary="@string/timeBetweenProcessMonitoringsSummary"
|
android:summary="@string/timeBetweenProcessMonitoringsSummary"
|
||||||
android:title="@string/timeBetweenProcessMonitoringsTitle"
|
android:title="@string/timeBetweenProcessMonitoringsTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
@ -288,7 +267,7 @@
|
|||||||
android:key="acceptDevicePositionSignalEveryX_MilliSeconds"
|
android:key="acceptDevicePositionSignalEveryX_MilliSeconds"
|
||||||
android:summary="@string/deviceOrientationTimeAcceptIntervalSummary"
|
android:summary="@string/deviceOrientationTimeAcceptIntervalSummary"
|
||||||
android:title="@string/deviceOrientationTimeAcceptIntervalTitle"
|
android:title="@string/deviceOrientationTimeAcceptIntervalTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
@ -300,13 +279,13 @@
|
|||||||
android:key="activityDetectionFrequency"
|
android:key="activityDetectionFrequency"
|
||||||
android:summary="@string/activityDetectionFrequencySummary"
|
android:summary="@string/activityDetectionFrequencySummary"
|
||||||
android:title="@string/activityDetectionFrequencyTitle"
|
android:title="@string/activityDetectionFrequencyTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="activityDetectionRequiredProbability"
|
android:key="activityDetectionRequiredProbability"
|
||||||
android:summary="@string/activityDetectionRequiredProbabilitySummary"
|
android:summary="@string/activityDetectionRequiredProbabilitySummary"
|
||||||
android:title="@string/activityDetectionRequiredProbabilityTitle"
|
android:title="@string/activityDetectionRequiredProbabilityTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
@ -318,9 +297,8 @@
|
|||||||
android:key="musicCheckFrequency"
|
android:key="musicCheckFrequency"
|
||||||
android:summary="@string/musicCheckFrequencySummary"
|
android:summary="@string/musicCheckFrequencySummary"
|
||||||
android:title="@string/musicCheckFrequencyTitle"
|
android:title="@string/musicCheckFrequencyTitle"
|
||||||
android:inputType="number"></EditTextPreference>
|
android:inputType="number" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
@ -330,7 +330,7 @@
|
|||||||
<string name="name">Name</string>
|
<string name="name">Name</string>
|
||||||
<string name="radiusWithUnit">Radius [m]</string>
|
<string name="radiusWithUnit">Radius [m]</string>
|
||||||
<string name="status">Status</string>
|
<string name="status">Status</string>
|
||||||
<string name="actionDataConnection">Data connection</string>
|
<string name="actionDataConnection">Data connection (mobile data)</string>
|
||||||
<string name="actionSetDataConnectionOn">turn mobile data on</string>
|
<string name="actionSetDataConnectionOn">turn mobile data on</string>
|
||||||
<string name="actionSetDataConnectionOff">turn mobile data off</string>
|
<string name="actionSetDataConnectionOff">turn mobile data off</string>
|
||||||
<string name="roaming">Roaming</string>
|
<string name="roaming">Roaming</string>
|
||||||
@ -952,4 +952,6 @@
|
|||||||
<string name="matches">matches</string>
|
<string name="matches">matches</string>
|
||||||
<string name="doesNotMatch">does not match</string>
|
<string name="doesNotMatch">does not match</string>
|
||||||
<string name="logToConsole">Log to console (logcat)</string>
|
<string name="logToConsole">Log to console (logcat)</string>
|
||||||
|
<string name="locationPermissionRequired">Location permission is required to continue.</string>
|
||||||
|
<string name="Android14TimePickerHint">Apparently there\'s a bug in Android 14 regarding a time picker dialog. If the following screen crashes when you try to use the up and down buttons next to a field, try inputting numbers with the keyboard instead. I did never find a solution for this and my app is not the only one affected. It looks like this was fixed in Android 15.</string>
|
||||||
</resources>
|
</resources>
|
@ -1,4 +1,6 @@
|
|||||||
* Fixed: Crash when triggering a URL without parameter pairs
|
* Fixed: Crash when triggering a URL without parameter pairs
|
||||||
* Fixed: When checking for battery charging type "any" the trigger didn't fire.
|
* Fixed: When checking for battery charging type "any" the trigger didn't fire.
|
||||||
* Fixed: Fixed warnings in logs for formatted notifications
|
* Fixed: Fixed warnings in logs for formatted notifications
|
||||||
|
* Fixed: Location permission requested now when creating a new location object.
|
||||||
|
* Fixed: Display-over-other-apps permission was not requested anymore for start another app actions.
|
||||||
* Added: Setting to turn on/off console logging (logcat)
|
* Added: Setting to turn on/off console logging (logcat)
|
Reference in New Issue
Block a user