6 Commits

Author SHA1 Message Date
c464a9d71f Battery receiver toasts removed 2023-05-07 22:59:45 +02:00
26e4851c0d Russian translation updated 2023-05-07 22:28:00 +02:00
11f0ee25bf bugfixes 2023-05-06 23:32:43 +02:00
a76cafc6e2 Enabled variables as intent parameters 2023-05-05 23:26:32 +02:00
bd2920e6d9 Russian translation updated 2023-05-05 22:54:16 +02:00
eba02ade08 Fixed: Crash when managing phone call action in the F-Droid version 2023-04-29 01:14:52 +02:00
16 changed files with 132 additions and 87 deletions

View File

@ -11,8 +11,8 @@ android {
compileSdkVersion 31
buildToolsVersion '29.0.2'
useLibrary 'org.apache.http.legacy'
versionCode 130
versionName "1.7.14"
versionCode 132
versionName "1.7.16"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View File

@ -173,7 +173,7 @@
<activity android:name=".ActivityManageTriggerTethering" />
<activity android:name=".ActivityManageActionWakeLock" />
<activity android:name=".ActivityManageTriggerSubSystemState" />
<activity android:name=".ActivityManageMakePhoneCall" />
<activity android:name=".ActivityManageActionMakePhoneCall" />
<activity android:name=".ActivityManageActionSetVariable" />
<activity android:name=".ActivityManageTriggerCheckVariable" />
<activity android:name=".ActivityManageActionCopyToClipboard" />

View File

@ -10,8 +10,6 @@ import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothProfile;
import android.content.ActivityNotFoundException;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
@ -1166,21 +1164,36 @@ public class Actions
}
else if (singleParam[0].equals("Uri"))
{
if (singleParam[1].equalsIgnoreCase("IntentData"))
try
{
Miscellaneous.logEvent("i", "StartOtherApp", "Adding parameter of type " + singleParam[0] + " with value " + singleParam[2] + " as standard data parameter.", 3);
intent.setData(Uri.parse(singleParam[2]));
if (singleParam[1].equalsIgnoreCase("IntentData"))
{
Miscellaneous.logEvent("i", "StartOtherApp", "Adding parameter of type " + singleParam[0] + " with value " + singleParam[2] + " as standard data parameter.", 3);
intent.setData(Uri.parse(Miscellaneous.replaceVariablesInText(singleParam[2], context)));
}
else
{
Miscellaneous.logEvent("i", "StartOtherApp", "Adding parameter of type " + singleParam[0] + " with name " + singleParam[1] + " and value " + singleParam[2], 3);
intent.putExtra(singleParam[1], Uri.parse(Miscellaneous.replaceVariablesInText(singleParam[2], context)));
}
}
else
catch (Exception e)
{
Miscellaneous.logEvent("i", "StartOtherApp", "Adding parameter of type " + singleParam[0] + " with name " + singleParam[1] + " and value " + singleParam[2], 3);
intent.putExtra(singleParam[1], Uri.parse(singleParam[2]));
throw new RuntimeException(e);
}
}
else if (singleParam[0].equals("String"))
{
Miscellaneous.logEvent("i", "StartOtherApp", "Adding parameter of type " + singleParam[0] + " with name " + singleParam[1] + " and value " + singleParam[2], 3);
intent.putExtra(singleParam[1], singleParam[2]);
try
{
intent.putExtra(singleParam[1], Miscellaneous.replaceVariablesInText(singleParam[2], context));
}
catch (Exception e)
{
intent.putExtra(singleParam[1], singleParam[2]);
}
}
else
Miscellaneous.logEvent("w", "StartOtherApp", "Unknown type of parameter " + singleParam[0] + " found. Name " + singleParam[1] + " and value " + singleParam[2], 3);

View File

@ -57,6 +57,15 @@ public class ActivityManageActionRunExecutable extends Activity
saveExecSettings();
}
});
if(getIntent().hasExtra(ActivityManageRule.intentNameActionParameter2))
{
String[] parts = getIntent().getStringExtra(ActivityManageRule.intentNameActionParameter2).split(Action.actionParameter2Split);
etRunExecutablePath.setText(parts[0]);
if(parts.length > 1)
etRunExecutableParameters.setText(parts[1]);
}
}
void saveExecSettings()

View File

@ -225,7 +225,7 @@ public class BatteryReceiver extends BroadcastReceiver implements AutomationList
{
usbHostConnected = true;
Miscellaneous.logEvent("i", "BatteryReceiver", "Connected to computer.", 3);
Toast.makeText(context, "Connected to computer.", Toast.LENGTH_LONG).show();
// Toast.makeText(context, "Connected to computer.", Toast.LENGTH_LONG).show();
ArrayList<Rule> ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.usb_host_connection);
// ArrayList<Rule> ruleCandidates = Rule.findRuleCandidatesByUsbHost(true);
@ -247,7 +247,7 @@ public class BatteryReceiver extends BroadcastReceiver implements AutomationList
{
usbHostConnected = false;
Miscellaneous.logEvent("i", "BatteryReceiver", "Disconnected from computer.", 3);
Toast.makeText(context, "Disconnected from computer.", Toast.LENGTH_LONG).show();
// Toast.makeText(context, "Disconnected from computer.", Toast.LENGTH_LONG).show();
ArrayList<Rule> ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.usb_host_connection);
// ArrayList<Rule> ruleCandidates = Rule.findRuleCandidatesByUsbHost(false);

View File

@ -304,6 +304,18 @@
android:layout_height="wrap_content"
android:text="@string/addIntentValue" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25dp"
android:text="@string/variablesOnlyForTypes" />
<TextView
android:id="@+id/tvLegend"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/urlLegend" />
<ImageView
android:layout_width="match_parent"
android:layout_height="1dp"

View File

@ -65,7 +65,7 @@
<string name="end">Конец</string>
<string name="save">Сохранить</string>
<string name="urlToTrigger">URL для вызова:</string>
<string name="urlLegend">Переменные:\nВы можете использовать следующие переменные. При срабатывании они будут заменены соответствующим значением на вашем устройстве. Скобки- часть переменной.\n\n[uniqueid] - уникальный идентификатор\n[serialnr] - серийный номер(&lt; Android 9)\n[latitude] - широта\n[longitude] - долгота\n[phonenr] - Номер последнего входящего или исходящего вызова\n[d] - День месяца, 2 цифры с начальными нулями\n[m] Месяц, 2 цифры с начальными нулями\n[Y] - Год, 4 цифры\n[h] - 12-часовой формат часа с начальными нулями\n[H] - 24-часовой формат часа с начальными нулями\n[i] - Минуты с начальными нулями\n[s] - Секунды с начальными нулями\n[ms] - миллисекунды\n[notificationTitle] - заголовок последнего уведомления\n[notificationText] - текст последнего уведомления\n[variable-VARIABLENAME] - Значение пользовательской определенной переменной</string>
<string name="urlLegend">Переменные:\nВы можете использовать следующие переменные. При срабатывании они будут заменены соответствующим значением на вашем устройстве. Скобки- часть переменной.\n\n[uniqueid] - уникальный идентификатор\n[serialnr] - серийный номер(&lt; Android 9)\n[latitude] - широта\n[longitude] - долгота\n[phonenr] - Номер последнего входящего или исходящего вызова\n[d] - День месяца, 2 цифры с начальными нулями\n[m] Месяц, 2 цифры с начальными нулями\n[Y] - Год, 4 цифры\n[h] - 12-часовой формат часа с начальными нулями\n[H] - 24-часовой формат часа с начальными нулями\n[i] - Минуты с начальными нулями\n[s] - Секунды с начальными нулями\n[ms] - миллисекунды\n[notificationTitle] - заголовок последнего уведомления\n[notificationText] - текст последнего уведомления\n[variable-VARIABLENAME] - Значение переменной, определенной пользователем</string>
<string name="wifi">Wi-Fi</string>
<string name="activating">Активация</string>
<string name="deactivating">Деактивация</string>
@ -120,7 +120,7 @@
<string name="soundSettings">Настройки звука</string>
<string name="showHelp">Показать справку</string>
<string name="rules">Правила</string>
<string name="helpTextRules">Все триггеры в правиле связаны логикой И. Правило будет применяться только в том случае, если будут выполнены все триггеры. Если вы хотите логику ИЛИ, создайте другое правило.\nТермины триггер и условие используются как синонимы. Все они являются условиями, но последний, отвечающий требуемому значению, может быть назван триггером, потому что это последняя часть головоломки, которая вызывает выполнение правила.</string>
<string name="helpTextRules">Все триггеры в правиле связаны логикой И. Правило будет применяться только в том случае, если будут выполнены все триггеры. Если вы хотите логику ИЛИ, создайте другое правило.\nТермины триггер и условие используются как синонимы. Все они являются условиями, но последний, отвечающий требуемому значению, может быть назван триггером, потому что это последняя часть паззла, которая вызывает выполнение правила.</string>
<string name="timeframes">Временные интервалы</string>
<string name="helpTextTimeFrame">Если вы указываете правило с временными интервалами, у вас есть два варианта. Вы можете выбрать между началом ИЛИ окончанием временного интервала. Правило срабатывает только один раз. Поэтому, если вы создадите правило с &quot;начало временного интервала&quot; в качестве триггера и позволите ему изменить ваш звуковой профиль на вибрацию, это не означает, что телефон автоматически перейдет в обычный режим, когда временной интервал закончится. Если вам это необходимо,создайте другое правило с другим временным интервалом.</string>
<string name="helpTextSound">На главном экране есть возможность заблокировать изменение уровня громкости вызова сконфигурированными правилами, например, вы можете быть в ситуации или месте, где необходим обычный режим звука, но в настоящее время его использовать нельзя. Эта функция автоматически отключится по истечении заданного времени. Нажмите кнопку +, чтобы задать необходимый период времени. После включения, вы можете вручную выключить его с помощью кнопки переключения (и таким образом снова включить изменения громкости звука).</string>
@ -213,12 +213,12 @@
<string name="runManually">Запуск вручную</string>
<string name="serviceHasToRunForThat">Для этого служба должна быть запущена.</string>
<string name="gpsComparison">Сравнение GPS</string>
<string name="gpsComparisonTimeoutStop" translatable="false">Stopping comparison GPS measurement due to timeout.</string>
<string name="gpsComparisonTimeoutStop" translatable="false">Остановка измерений GPS из-за превышения времени ожидания.</string>
<string name="timeoutForGpsComparisonsTitle">Тайм-аут GPS [сек]</string>
<string name="timeoutForGpsComparisonsSummary">Максимальное время получения GPS-местоположения в секундах. По истечении этого времени будет применено последнее известное местоположение.</string>
<string name="startingGpsTimeout" translatable="false">Starting GPS timeout.</string>
<string name="forcedLocationUpdate" translatable="false">Forced location update</string>
<string name="forcedLocationUpdateLong" translatable="false">Due to timeout in comparison measurement the last best location will be applied.</string>
<string name="startingGpsTimeout" translatable="false">Запуск ожидания GPS.</string>
<string name="forcedLocationUpdate" translatable="false">Принудительное обновление местоположения</string>
<string name="forcedLocationUpdateLong" translatable="false">Из-за таймаута измерений будет использовано последнее успешное местоположение.</string>
<string name="rememberLastActivePoiSummary">Если вы находитесь в каком-то местоположении, перезагружаете устройство или приложение и покидаете это местоположение, при старте приложение будет запускать правила, связанные с выходом из этого местоположения.</string>
<string name="rememberLastActivePoiTitle">Запомнить последнее активное местоположение</string>
<string name="muteTextToSpeechDuringCallsTitle">Отключение звука во время звонков</string>
@ -232,37 +232,37 @@
<string name="errorStartingOtherActivity">Ошибка запуска Activity</string>
<string name="anotherAppIsRunning">Другое приложение запускается/останавливается</string>
<string name="settingsCategoryProcessMonitoring">Мониторинг процесса</string>
<string name="timeBetweenProcessMonitoringsTitle">Период мониторингама процесса в секундах</string>
<string name="timeBetweenProcessMonitoringsTitle">Период мониторинга процесса в секундах</string>
<string name="timeBetweenProcessMonitoringsSummary">Чем меньше, тем выше расход батареи</string>
<string name="refreshingProcessList" translatable="false">Refreshing process list.</string>
<string name="refreshingProcessList" translatable="false">Обновление списка процессов.</string>
<string name="processes">Процессы</string>
<string name="startingPeriodicProcessMonitoringEngine" translatable="false">Starting periodic process monitoring engine.</string>
<string name="startingPeriodicProcessMonitoringEngine" translatable="false">Запуск периодического мониторинга процессов.</string>
<string name="processMonitoring">Мониторинг процесса</string>
<string name="periodicProcessMonitoringIsAlreadyRunning" translatable="false">Periodic process monitoring is already running. Won\&apos;t start it again.</string>
<string name="stoppingPeriodicProcessMonitoringEngine" translatable="false">Stopping periodic process monitoring engine.</string>
<string name="periodicProcessMonitoringIsNotActive" translatable="false">Periodic process monitoring is not active. Can\&apos;t stop it.</string>
<string name="periodicProcessMonitoringStarted" translatable="false">Periodic process monitoring started.</string>
<string name="periodicProcessMonitoringStopped" translatable="false">Periodic process monitoring stopped.</string>
<string name="rearmingProcessMonitoringMessage" translatable="false">Rearming process monitoring message.</string>
<string name="notRearmingProcessMonitoringMessageStopRequested" translatable="false">Not rearming process monitoring message, stop requested.</string>
<string name="messageReceivedStatingProcessMonitoringIsComplete" translatable="false">Message received stating process monitoring is complete.</string>
<string name="appStarted" translatable="false">App started.</string>
<string name="appStopped" translatable="false">App stopped.</string>
<string name="runningApp" translatable="false">Running app</string>
<string name="errorWritingSettingsToPersistentMemory" translatable="false">Error writing settings to persistent memory.</string>
<string name="periodicProcessMonitoringIsAlreadyRunning" translatable="false">Периодический мониторинг процессов уже запущен и не может быть запущен еще раз.</string>
<string name="stoppingPeriodicProcessMonitoringEngine" translatable="false">Остановка периодического мониторинга процессов.</string>
<string name="periodicProcessMonitoringIsNotActive" translatable="false">Периодический мониторинг процессов не запущен, поэтому не может быть остановлен.</string>
<string name="periodicProcessMonitoringStarted" translatable="false">Периодический мониторинг процессов запущен.</string>
<string name="periodicProcessMonitoringStopped" translatable="false">Периодический мониторинг процессов остановлен.</string>
<string name="rearmingProcessMonitoringMessage" translatable="false">Получено сообщение о перезапуске мониторинга процессов.</string>
<string name="notRearmingProcessMonitoringMessageStopRequested" translatable="false">Не удалось перезапустить мониторинг процессов, остановка.</string>
<string name="messageReceivedStatingProcessMonitoringIsComplete" translatable="false">Получено сообщение о завершении мониторинга процессов.</string>
<string name="appStarted" translatable="false">Приложение запущено.</string>
<string name="appStopped" translatable="false">Приложение остановлено.</string>
<string name="runningApp" translatable="false">Приложение выполняется</string>
<string name="errorWritingSettingsToPersistentMemory" translatable="false">Ошибка записи настроек.</string>
<string name="settings">Настройки</string>
<string name="writingSettingsToPersistentMemory" translatable="false">Writing settings to persistent memory.</string>
<string name="refreshingSettingsFromFileToMemory" translatable="false">Refreshing settings from file to memory.</string>
<string name="errorReadingSettings" translatable="false">Error reading settings.</string>
<string name="invalidStuffStoredInSettingsErasing" translatable="false">Invalid stuff stored in settings. Erasing settings...</string>
<string name="initializingSettingsToPersistentMemory" translatable="false">Initializing settings to persistent memory.</string>
<string name="errorInitializingSettingsToPersistentMemory" translatable="false">Error initializing settings to persistent memory.</string>
<string name="writingSettingsToPersistentMemory" translatable="false">Запись настроек.</string>
<string name="refreshingSettingsFromFileToMemory" translatable="false">Загрузка настроек из файла в память.</string>
<string name="errorReadingSettings" translatable="false">Ошибка чтения настроек.</string>
<string name="invalidStuffStoredInSettingsErasing" translatable="false">Неверное содержимое в настройках. Удаление...</string>
<string name="initializingSettingsToPersistentMemory" translatable="false">Инициализация настроек.</string>
<string name="errorInitializingSettingsToPersistentMemory" translatable="false">Ошибка инициализации настроек.</string>
<string name="settingsErased">Настройки стерты.</string>
<string name="settingsSetToDefault">Настройки установлены по умолчанию.</string>
<string name="batteryLevel">Уровень заряда батареи</string>
<string name="selectSpeed">Выберите скорость</string>
<string name="selectBattery">Выберите уровень заряда батареи</string>
<string name="applyingSettingsAndRules" translatable="false">Applying settings, rules and locations.</string>
<string name="applyingSettingsAndRules" translatable="false">Применение настроек, правил и местоположений.</string>
<string name="privacy">Политика конфиденциальности</string>
<string name="privacyConfirmationText">На вашем устройстве будет запущен браузер и загрузится политика конфиденциальности с веб-сайта разработчика.</string>
<string name="waitBeforeNextAction">Ожидание перед следующим действием</string>
@ -274,15 +274,15 @@
<string name="moveDown">Переместить вниз</string>
<string name="cantMoveUp">Невозможно переместить элемент вверх. Он уже находится на самом верху.</string>
<string name="cantMoveDown">Невозможно переместить элемент вниз. Он уже в самом низу.</string>
<string name="wifiNameSpecifiedCheckingThat" translatable="false">Wifi name specified, checking that.</string>
<string name="wifiNameMatchesRuleWillApply" translatable="false">Wifi name matches. Rule will apply.</string>
<string name="noWifiNameSpecifiedAnyWillDo" translatable="false">No wifi name specified, any will do.</string>
<string name="ruleCheckOf" translatable="false">RuleCheck of %1$s</string>
<string name="wifiNameSpecifiedCheckingThat" translatable="false">Указана сеть Wifi, проверка.</string>
<string name="wifiNameMatchesRuleWillApply" translatable="false">Сеть Wifi совпадает. Правило применяется.</string>
<string name="noWifiNameSpecifiedAnyWillDo" translatable="false">Не указана сеть Wifi, будет использована любая.</string>
<string name="ruleCheckOf" translatable="false">Проверка правила %1$s</string>
<string name="airplaneMode">Режим полета</string>
<string name="activate">Активировать</string>
<string name="deactivate">Деактивировать</string>
<string name="airplaneModeSdk17Warning">Начиная с версии Android 4.2 эта функция работает только в том случае, если на вашем устройстве есть root-права.</string>
<string name="triggerUrlReplacementPositionError" translatable="false">You asked for a position to be added to your URL. Unfortunately at this point I do not have any location, yet.</string>
<string name="triggerUrlReplacementPositionError" translatable="false">Вы запросили добавить координаты в ваш URL. К сожалению, в настоящий момент у меня нет никаких координат.</string>
<string name="addIntentValue">Добавить Intent пару</string>
<string name="parameterName">Имя параметра</string>
<string name="parameterValue">Значение параметра</string>
@ -336,7 +336,7 @@
<string name="nfcNoNdefIntentBut">Нет NFC NDEF Intent, но</string>
<string name="nfcNotSupportedInThisAndroidVersionYet">NFC пока не поддерживается в этой версии Android.</string>
<string name="cantRunRule">Не удается запустить правила.</string>
<string name="cantDownloadTooFewRequestsInSettings" translatable="false">Can\&apos;t download anything. Amount of http requests in settings is lower than 1.</string>
<string name="cantDownloadTooFewRequestsInSettings" translatable="false">Не получается загрузить. Количество http запросов в настройках меньше 1.</string>
<string name="nfcApplyTagToRule">Применить метку к правилу</string>
<string name="nfcTagReadSuccessfully">Метка прочитана успешно.</string>
<string name="nfcValueNotSuitable">Сохранённое значение не подходит.</string>
@ -349,19 +349,19 @@
<string name="nfcBringTagIntoRangeToRead">Поднесите метку для чтения.</string>
<string name="toggleRule">Переключаемое правило</string>
<string name="toggling">Переключение</string>
<string name="toggle">переключить</string>
<string name="toggle">Переключить</string>
<string name="overlapBetweenPois">Обнаружено перекрытие с местоположением %1$s на %2$s метров. Уменьшите радиус хотя бы на это значение.</string>
<string name="noOverLap" translatable="false">No overlap to other locations detected.</string>
<string name="ruleToggable" translatable="false">Rule %1$s is toggable.</string>
<string name="ruleNotToggable" translatable="false">Rule %1$s is not suitable for toggling.</string>
<string name="noOverLap" translatable="false">Не обнаружено перекрытия с другими местоположениями.</string>
<string name="ruleToggable" translatable="false">Правило %1$s переключаемое.</string>
<string name="ruleNotToggable" translatable="false">Правило %1$s не переключаемое.</string>
<string name="none">Нет</string>
<string name="anyLocation">любое местоположение</string>
<string name="anyLocation">Любое местоположение</string>
<string name="invalidPoiName">Неверное имя для местоположения.</string>
<string name="eraseSettings">Стереть настройки</string>
<string name="defaultSettings">Настройки по умолчанию</string>
<string name="areYouSure">Вы уверены?</string>
<string name="poiCouldBeInRange" translatable="false">At least location %1$s could be in range, if not others in addition.</string>
<string name="noPoiInRelevantRange" translatable="false">No location in relevant range.</string>
<string name="poiCouldBeInRange" translatable="false">По меньшей мере местоположение %1$s должно быть в диапазоне, помимо остальных.</string>
<string name="noPoiInRelevantRange" translatable="false">Отсуствуют местоположения в заданном диапазоне.</string>
<string name="activityDetection">Обнаружение активности</string>
<string name="android.permission.ACTIVITY_RECOGNITION">Обнаружение активности</string>
<string name="detectedActivity">Обнаруженная активность:</string>
@ -374,8 +374,8 @@
<string name="detectedActivityWalking">Ходьба</string>
<string name="detectedActivityRunning">Бег</string>
<string name="detectedActivityInvalidStatus">Недопустимая активность</string>
<string name="ruleDoesntApplyActivityGivenButTooLowProbability" translatable="false">Rule %1$s doesn\&apos;t apply. Detected activity %2$s given, but too low probability (%3$s %%), required %4$s %%.</string>
<string name="ruleDoesntApplyActivityNotPresent" translatable="false">Rule %1$s doesn\&apos;t apply. Required activity %2$s not present.</string>
<string name="ruleDoesntApplyActivityGivenButTooLowProbability" translatable="false">Правило %1$s не применится. Определенная активность %2$s, но слишком низкая вероятность (%3$s %%), требуется %4$s %%.</string>
<string name="ruleDoesntApplyActivityNotPresent" translatable="false">Правило %1$s не применится. Требуемая активность %2$s отсутствует.</string>
<string name="selectTypeOfActivity">Выберите вид активности</string>
<string name="triggerOnlyAvailableIfPlayServicesInstalled">Этот триггер доступен только, если установлены службы Google Play.</string>
<string name="activityDetectionFrequencyTitle">Частота обнаружения активности [сек]</string>
@ -395,8 +395,8 @@
<string name="bluetoothDeviceInRange">Устройство Bluetooth %1$s в диапазоне.</string>
<string name="bluetoothDeviceOutOfRange">Устройство Bluetooth %1$s вне диапазона.</string>
<string name="anyDevice">любое устройство</string>
<string name="ruleDoesntApplyNotTheCorrectDeviceName" translatable="false">Rule %1$s doesn\&apos;t apply. Not the correct bluetooth device name.</string>
<string name="ruleDoesntApplyNotTheCorrectDeviceAddress" translatable="false">Rule %1$s doesn\&apos;t apply. Not the correct bluetooth device address.</string>
<string name="ruleDoesntApplyNotTheCorrectDeviceName" translatable="false">Правило %1$s не применится. Неверное имя устройства bluetooth.</string>
<string name="ruleDoesntApplyNotTheCorrectDeviceAddress" translatable="false">Правило %1$s не применится. Неверный адрес устройства bluetooth.</string>
<string name="noDevice">нет устройства</string>
<string name="selectDeviceFromList">один из списка</string>
<string name="connectionToDevice">подключение к устройству</string>
@ -405,8 +405,8 @@
<string name="deviceOutOfRange">устройство вне зоны досягаемости</string>
<string name="selectDeviceOption">Выберите опцию устройства.</string>
<string name="selectConnectionOption">Выберите вариант подключения.</string>
<string name="ruleDoesntApplyDeviceInRangeButShouldNotBe" translatable="false">Rule %1$s doesn\&apos;t apply. Device is in range, but should not be.</string>
<string name="ruleDoesntApplyStateNotCorrect" translatable="false">Rule %1$s doesn\&apos;t apply. Wrong state.</string>
<string name="ruleDoesntApplyDeviceInRangeButShouldNotBe" translatable="false">Правило %1$s не применится. Устройство в пределах досягаемости, хотя так быть не должно.</string>
<string name="ruleDoesntApplyStateNotCorrect" translatable="false">Правило %1$s не применится. Неверное состояние.</string>
<string name="triggerHeadsetPlugged">Подключение гарнитуры</string>
<string name="actionPlayMusic">Открыть музыкальный плеер</string>
<string name="headsetConnected">Гарнитура (тип: %1$s) подключена</string>
@ -415,22 +415,22 @@
<string name="headphoneMicrophone">Микрофон</string>
<string name="headphoneAny">Любой</string>
<string name="headphoneSelectType">Выберите тип гарнитуры</string>
<string name="ruleDoesntApplyWrongHeadphoneType" translatable="false">Rule %1$s doesn\&apos;t apply. Wrong headphone type.</string>
<string name="ignoringActivityDetectionUpdateTooSoon" translatable="false">Ignoring activity detection update. Came in sooner that %1$s seconds.</string>
<string name="ruleDoesntApplyWrongHeadphoneType" translatable="false">Правило %1$s не применится. Неверный тип гарнитуры.</string>
<string name="ignoringActivityDetectionUpdateTooSoon" translatable="false">Игнорирование запроса обнаружения активности. Получено ранее %1$s секунд.</string>
<string name="whatsThis">Что это такое?</string>
<string name="atLeastRuleXisUsingY" translatable="false">At least rule \&quot;%1$s\&quot; is using a trigger of type \&quot;%2$s\&quot;.</string>
<string name="atLeastRuleXisUsingY" translatable="false">По меньшей мере одно правило \&quot;%1$s\&quot; использует триггер типа \&quot;%2$s\&quot;.</string>
<string name="privacyLocationingTitle">Только приватное определение местоположения</string>
<string name="privacyLocationingSummary">Избегайте методов определения местоположения, которые могут отправить ваши данные внешним компаниями, например Google. При включении будет использоваться только GPS, определение местоположения может занять больше времени или работать менее надежно.</string>
<string name="enforcingGps" translatable="false">Private Locationing enabled, enforcing GPS use.</string>
<string name="notEnforcingGps" translatable="false">Private Locationing not enabled, using regular provider search.</string>
<string name="gpsMeasurement" translatable="false">GPS measurement</string>
<string name="gpsMeasurementTimeout" translatable="false">GPS measurement stopped due to timeout.</string>
<string name="cellMastChanged" translatable="false">Cell tower changed: %1$s</string>
<string name="enforcingGps" translatable="false">Private Locationing включен, принудительное использование GPS .</string>
<string name="notEnforcingGps" translatable="false">Private Locationing не включен, использование обычных источников.</string>
<string name="gpsMeasurement" translatable="false">Измерение GPS</string>
<string name="gpsMeasurementTimeout" translatable="false">Измерение GPS остановлено из-за превышение времени ожидания.</string>
<string name="cellMastChanged" translatable="false">Сотовая вышка изменилась: %1$s</string>
<string name="noiseDetectionHint">Если вы думаете, что обнаружение шума работает некорректно (в зависимости от значения, которое вы указываете), пожалуйста, имейте в виду, что каждое устройство отличается, поэтому вы можете изменить &quot;Эталон для измерения шума&quot; в настройках. См . http://en.wikipedia.org/wiki/Decibel для получения дополнительной информации. Для калибровки устройства можно использовать калибратор громкости на главном экране.</string>
<string name="hint">Подсказка</string>
<string name="selectNoiseLevel">Выбор уровня шума</string>
<string name="poiHasWifiStoppingCellLocationListener" translatable="false">Location has wifi. Stopping CellLocationChangedReceiver.</string>
<string name="poiHasNoWifiNotStoppingCellLocationListener" translatable="false">Location doesn\&apos;t have wifi. Not stopping CellLocationChangedReceiver.</string>
<string name="poiHasWifiStoppingCellLocationListener" translatable="false">В этом местоположении есть wifi. Остановка CellLocationChangedReceiver.</string>
<string name="poiHasNoWifiNotStoppingCellLocationListener" translatable="false">В этом месотположении нет wifi. CellLocationChangedReceiver не будет остановлен .</string>
<string name="showOnMap">Показать на карте</string>
<string name="noMapsApplicationFound">На вашем устройстве нет приложения просмотра карт.</string>
<string name="locationEngineNotActive">Сервис определения местоположения не активен.</string>
@ -476,10 +476,10 @@
<string name="volumeTest">Калибровка громкости</string>
<string name="volumeCalibrationExplanation">Чтобы рассчитать значение дБ для мониторинга шума, необходимо указать так называемое физическое эталонное значение. Пожалуйста, прочтите Wikipedia для получения дополнительной информации. Это значение, скорее всего, разное для каждого телефона. Перетащите ползунок, чтобы изменить физическое эталонное значение. Чем выше опорное значение, тем ниже будет значение дБ. Постоянные измерения будут выполняться каждые %1$s секунд и результаты будут показаны ниже. Нажмите кнопку назад, когда найдете подходящее значение.</string>
<string name="settingsWillTakeTime">Некоторые настройки не будут применены до изменения определенных параметров среды или перезапуска службы.</string>
<string name="phoneIsRooted" translatable="false">Phone is rooted.</string>
<string name="phoneIsNotRooted" translatable="false">Phone is not rooted.</string>
<string name="dataConWithRootSuccess" translatable="false">Data connection was successfully changed using superuser permissions.</string>
<string name="dataConWithRootFail" translatable="false">Data could not be changed using superuser permissions.</string>
<string name="phoneIsRooted" translatable="false">В телефоне есть root-доступ.</string>
<string name="phoneIsNotRooted" translatable="false">В телефоне отсутствует root-доступ.</string>
<string name="dataConWithRootSuccess" translatable="false">Подключение к данным успешно изменено используя привилегии суперпользователя.</string>
<string name="dataConWithRootFail" translatable="false">Подключение к данным не получилось изменить используя привилегии суперпользователя.</string>
<string name="rootExplanation">Для того, чтобы эта функция работала, вам нужно получить права root на своем телефоне. После этого вам нужно &quot;запустить правило вручную&quot;, чтобы отобразить запрос на разрешение действий суперпользователя. Когда появится запрос на разрешение действий суперпользователя, необходимо ответить утвердительно (Разрешить всегда), в противном случае правило не сможет работать, когда телефон находится без присмотра.</string>
<string name="errorWritingConfig">Ошибка записи конфигурации. Есть ли у вас доступная на запись память?</string>
<string name="phoneNrReplacementError">Я не смог вставить последний номер телефона в переменную. У меня его нет.</string>
@ -503,7 +503,7 @@
<string name="appRequiresPermissiontoAccessExternalStorage">Automation требует доступа к внешнему хранилищу для чтения его настроек и правил.</string>
<string name="mainScreenPermissionNote">Automation требует большего количества разрешений для полноценного функционирования. Нажмите на этот текст, чтобы узнать больше и запросить их.</string>
<string name="invalidDevice">Недопустимое устройство</string>
<string name="google_app_id" translatable="false">your app id</string>
<string name="google_app_id" translatable="false">Ваш Google app id</string>
<string name="logFileMaxSizeSummary">Максимальный размер файла журнала в мегабайтах. Будет перезаписываться при превышении размера.</string>
<string name="logFileMaxSizeTitle">Максимальный размер файла журнала [Мб]</string>
<string name="android.permission.READ_CALL_LOG">Чтение журнала вызовов</string>
@ -549,7 +549,7 @@
<string name="chooseActivityHint">В этом последнем окне выбора вам нужно указать конкретное действие (Activity). Другими словами, это похоже на окно нужного приложения. Если вы не знаете какой выбрать, то используйте тот, который имеет &quot;main&quot; или &quot;launcher&quot; в своем названии.</string>
<string name="edit">Редактировать</string>
<string name="clickAndHoldForOptions">Удерживайте элемент для параметров.</string>
<string name="ruleActivationComplete" translatable="false">Rule \&quot;%1$s\&quot; finished.</string>
<string name="ruleActivationComplete" translatable="false">Правило \&quot;%1$s\&quot; завершено.</string>
<string name="positioningEngine">Служба позиционирования</string>
<string name="googleSarcasm">Благодаря бесконечной мудрости Google и постоянному стремлению защитить частную жизнь каждого человека, из всех правил, которых использовали триггеры и действия отправки sms или чтения состояния телефона, данные триггеры и действия были удалены, потому что Google считает это рискованным.</string>
<string name="startAutomationAsService">Запуск Automation как службы</string>
@ -763,16 +763,16 @@
<string name="musicPlayingDetection">Обнаружение воспроизведения музыки</string>
<string name="musicCheckFrequencyTitle">Частота проверки [мс]</string>
<string name="musicCheckFrequencySummary">Миллисекунды между проверками</string>
<string name="locationNotWorkingOn12">Получение местоположения, похоже, не работает на устройствах Android 12 в настоящее время. Если это не коснулось вас, мне очень жаль. Я постараюсь исправить это, как только узнаю причину. Так что если кружочек не перестанет вращаться, вы предупреждены.</string>
<string name="locationNotWorkingOn12">Получение местоположения, похоже, не работает на устройствах Android 12 в настоящее время. Если это коснулось вас, мне очень жаль. Я постараюсь это исправить, как только узнаю причину. Так что если кружочек не перестанет вращаться, вы предупреждены.</string>
<string name="lastProfile">Последний профиль:</string>
<string name="queryAllPackages">Получить список установленных приложений</string>
<string name="helpTextEnergySaving">Многие производители устройств пытаются снизить потребление энергии при помощи ограничения работы фоновых приложений. К сожалению, это приводит к тому, что они перестают работать корректно, Automation относится к их числу. Посетите эту <a href="https://dontkillmyapp.com/">web-страницу</a> для того, чтобы узнать как исключить Automation из этого процесса.</string>
<string name="timeFrameDaysHint">Если вы используете временной период, который переходит через полночь, вам нужно выбрать следующий день, если хотите, чтобы триггер сработал после полночи.</string>
<string name="featureNotInGooglePlayVersion">Эта функция больше не доступа для версии Google Play.\n\nGoogle постоянно усложняет жизнь разработчикам и требуют оформления бумажных заявлений для обоснавания необходимости использования определённых функций. К сожалению, эти заявления в 99% случаев откланяются. Почти как в комиксе Астерикс.\n\nЯ потратил недели на споры с ними, но заявления продолжают отклоняться ботами или людьми со схожим интеллектуальным развитием.\nПожалуйста, используйте версию APK или скачайте его с F-Droid, если вам нужны эти функции.</string>
<string name="timeFrameDaysHint">Если вы используете временной период, который переходит через полночь, вам нужно выбрать следующий день, если хотите, чтобы триггер сработал после полуночи.</string>
<string name="featureNotInGooglePlayVersion">Эта функция больше не доступа для версии Google Play.\n\nGoogle постоянно усложняет жизнь разработчикам и требуют оформления бумажных заявлений для обоснавания необходимости использования определённых функций. К сожалению, эти заявления в 99% случаев отклоняются. Почти как в комиксе Астерикс.\n\nЯ потратил недели на споры с ними, но заявления продолжают отклоняться ботами или людьми со схожим интеллектуальным развитием.\nПожалуйста, используйте версию APK или скачайте его с F-Droid, если вам нужны эти функции.</string>
<string name="startActivityInsertManually">Это ограничение касается только выбора приложения, но не его запуска. Вы можете указать имя приложения вручную, если знаете его.</string>
<string name="deviceStarts">Включение устройства</string>
<string name="serviceStarts">Запуск службы</string>
<string name="deviceIsStarting">устройство запускается</string>
<string name="deviceIsStarting">Устройство запускается</string>
<string name="serviceIsStarting">Служба запускается</string>
<string name="broadcastReceived">получено сообщение broadcast</string>
<string name="broadcastNotReceived">сообщение broadcast не получено</string>
@ -784,10 +784,10 @@
<string name="lockedWithoutSecurity">заблокировано (только swipe, без PIN)</string>
<string name="lockedWithSecurity">заблокировано (с PIN и т.д.)</string>
<string name="lockedCommentScreenMustBeOff">Любое состояние блокировки будет обнаружено только когда экран выключен.</string>
<string name="emailPretext">Если вы обнаружили проблему или хотите задать вопрос или предложить улучшение, пожалуйста, напишите что-нибудь в теле письма. Не нужно просто отправлять мне скриншоты без текста. Подобные письма будут проигнорированы, за исключением подобных писем, которые часть уже существующей переписки.</string>
<string name="emailPretext">Если вы обнаружили проблему или хотите задать вопрос или предложить улучшение, пожалуйста, напишите что-нибудь в теле письма. Не нужно просто отправлять мне скриншоты без текста. Подобные письма будут проигнорированы, за исключением тех писем, которые уже являются частью существующей переписки.</string>
<string name="sendBroadcast">Отправить broadcast</string>
<string name="enterBroadcast">Ввести broadcast действие.</string>
<string name="broadcastExplanation">Это действиет позволяет отправить Broadcast сообщение через систему сообщений Android. Их невидно пользователю, но приложения, которые "слушают" определённые сообщения могут реагировать на них определённым образом.</string>
<string name="broadcastExplanation">Это действиет позволяет отправить Broadcast сообщение через систему сообщений Android. Их не видно пользователю, но приложения, которые "слушают" определённые сообщения могут реагировать на них определённым образом.</string>
<string name="directionStringDoesNotContain">не содержит</string>
<string name="runExecutable">Запуск скрипта или файла</string>
<string name="path">Путь</string>
@ -799,7 +799,7 @@
<string name="wifiExplanation1">Приложения, реализуемые совместимость с Android Q и выше больше не могут включать/выключать Wi-Fi. Пожалуйста, вините не меня, а Google за это.\n\nВы можете обойти это ограничение получив root права и активировав чекбокс ниже. Так же вы можете скачать это приложение из F-Droid или с моего сайта, потому что для этих версий приложения нет ограничения на совместимость с последним уровнем API.</string>
<string name="wifiExplanation2">Когда активирован режим "В самолете" Wi-Fi может быть включен только приложениями с доступом к root правам.</string>
<string name="usingRoot">используя root-права</string>
<string name="runExecutableExplanation">Здесь вы можете выбрать сценарий или исполняемый файл, который будет выполняться как действие.\n\nНо есть некоторые предварительные условия, с которыми вам придется иметь дело самостоятельно. Google очень усложнил запуск чего-либо, кроме обычных приложений Android.\n\n1. Сценарий должен быть помечен как исполняемый. В обычной системе Android (без root) это на самом деле самая сложная часть.\n\n2. Это также означает, что автоматизация должна иметь возможность выполнять файл, а не только владельца или группу.\n\n3. Если это сценарий, в заголовке скрипта указывается допустимая оболочка.\n\nЕсли вы не можете выполнить вышеуказанные требования, можно в качестве альтернативы попытаться указать оболочку в качестве фактического исполняемого файла (например, /system/bin/sh) и скрипт в качестве параметра. Это сработало, по крайней мере, для одного пользователя.</string>
<string name="runExecutableExplanation">Здесь вы можете выбрать сценарий или исполняемый файл, который будет выполняться как действие.\n\nНо есть некоторые предварительные условия, с которыми вам придется иметь дело самостоятельно. Google очень усложнил запуск чего-либо, кроме обычных приложений Android.\n\n1. Сценарий должен быть помечен как исполняемый. В обычной системе Android (без root) это сделать непросто.\n\n2. Помимо владельца или группы, разрешение на исполнение файла должно также быть и у Automation.\n\n3. Если это сценарий, в заголовке скрипта указывается допустимая оболочка.\n\nЕсли вы не можете выполнить вышеуказанные требования, можно попробовать другое решение - попытаться указать оболочку в качестве фактического исполняемого файла (например, /system/bin/sh), а скрипт в качестве параметра. Это сработало, по крайней мере, для одного пользователя.</string>
<string name="tetheringActive">раздача интернета активна</string>
<string name="tetheringNotActive">раздача интернета не активна</string>
<string name="tetheringState">Раздача интернета</string>
@ -815,7 +815,7 @@
<string name="bluetooth">Bluetooth</string>
<string name="subSystemState">Состояние подсистемы</string>
<string name="clickNotificationButton">Нажмите кнопку</string>
<string name="simplyDismissNotification">Просто уволить</string>
<string name="simplyDismissNotification">Игнорировать сообщение</string>
<string name="usb">USB</string>
<string name="cable">Кабель</string>
<string name="tetheringBluetoothNotPossible">В настоящее время модем Bluetooth не может быть обнаружен. Только другие средства связи активируют этот триггер.</string>
@ -850,6 +850,6 @@
<string name="wifiMonitoringAlsoRequiresThis">Это разрешение также требуется, если триггер использует текущее соединение Wi-Fi.</string>
<string name="copyTextToClipboard">Копирование текста в буфер обмена</string>
<string name="textToCopy">Текст для копирования</string>
<string name="android.permission.SYSTEM_ALERT_WINDOW">Рисование поверх других приложений</string>
<string name="overlayPermissionHint">После нажатия кнопки «ОК» вы попадете в системный диалог. Пожалуйста, выберите там «Автоматизация» и разрешите рисовать поверх других приложений.</string>
<string name="android.permission.SYSTEM_ALERT_WINDOW">Запуск поверх других приложений</string>
<string name="overlayPermissionHint">После нажатия кнопки «ОК» вы попадете в системный диалог. Пожалуйста, выберите там Automation и разрешите запуск поверх других приложений.</string>
</resources>

View File

@ -884,4 +884,5 @@
<string name="textToCopy">Text to copy</string>
<string name="android.permission.SYSTEM_ALERT_WINDOW">Draw over other apps</string>
<string name="overlayPermissionHint">After clicking OK you\'ll be sent to a system dialog. Please select Automation there and allow "draw over other apps".</string>
<string name="variablesOnlyForTypes">Variables are only available for parameter types String and URI</string>
</resources>

View File

@ -0,0 +1 @@
* Behoben: Absturz bei der Verwaltung von Telefonanrufaktionen in der F-Droid-Version

View File

@ -0,0 +1 @@
* Fixed: Crash when managing phone call action in the F-Droid version

View File

@ -0,0 +1,3 @@
* Fixed: Run executable action - when editing values were not loaded in editor
* Added: Variables usable in intent parameters
* Removed: Removed toasts for computer connection/disconnection

View File

@ -0,0 +1 @@
* Corregido: Bloqueo al administrar la acción de la llamada telefónica en la versión F-Droid

View File

@ -0,0 +1 @@
* Correction : Crash lors de la gestion de l'action d'appel téléphonique dans la version F-Droid

View File

@ -0,0 +1 @@
* Risolto: arresto anomalo durante la gestione dell'azione di chiamata telefonica nella versione F-Droid

View File

@ -0,0 +1 @@
* Opgelost: Crash bij het beheren van telefoongesprek actie in de F-Droid versie

View File

@ -0,0 +1 @@
* Исправлено: Сбой при управлении действием телефонного звонка в версии F-Droid