forked from jens/Automation
Merge remote-tracking branch 'origin/development' into development
This commit is contained in:
commit
e2027a457a
@ -8,7 +8,7 @@ android {
|
||||
defaultConfig {
|
||||
applicationId "com.jens.automation2"
|
||||
minSdkVersion 16
|
||||
compileSdkVersion 31
|
||||
compileSdkVersion 33
|
||||
buildToolsVersion '29.0.2'
|
||||
useLibrary 'org.apache.http.legacy'
|
||||
versionCode 138
|
||||
|
@ -71,6 +71,7 @@
|
||||
android:name="android.permission.WRITE_SECURE_SETTINGS"
|
||||
tools:ignore="ProtectedPermissions" />
|
||||
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<!--android:maxSdkVersion="32" />
|
||||
<uses-permission android:name="android.permission.USE_EXACT_ALARM" />-->
|
||||
|
||||
@ -107,7 +108,9 @@
|
||||
android:exported="false"
|
||||
android:label="@string/app_name" />
|
||||
|
||||
<receiver android:name=".receivers.StartupIntentReceiver" android:enabled="true" android:exported="true">
|
||||
<receiver android:name=".receivers.StartupIntentReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<!--<action android:name="android.intent.action.SCREEN_ON" />-->
|
||||
<!--<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />-->
|
||||
@ -214,7 +217,6 @@
|
||||
<activity android:name=".ActivityManageActionStartActivity" />
|
||||
<activity android:name=".ActivityManageTriggerNfc" />
|
||||
<activity android:name=".ActivityManageActionSpeakText" />
|
||||
<activity android:name=".ActivityManageActionPlaySound" />
|
||||
<activity android:name=".ActivityManageTriggerBluetooth" />
|
||||
<activity android:name=".ActivityMainProfiles" />
|
||||
<activity android:name=".ActivityManageProfile" />
|
||||
@ -235,8 +237,6 @@
|
||||
|
||||
</service>
|
||||
|
||||
<activity android:name=".ActivityPermissions" />
|
||||
|
||||
<!-- https://developer.android.com/about/versions/pie/android-9.0-changes-28#apache-p-->
|
||||
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
|
||||
|
||||
@ -259,7 +259,8 @@
|
||||
/>
|
||||
|
||||
<service android:name=".MyAccessibilityService"
|
||||
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
|
||||
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.accessibilityservice.AccessibilityService" />
|
||||
</intent-filter>
|
||||
|
@ -427,6 +427,12 @@ public class ActivityPermissions extends Activity
|
||||
if(!havePermission(Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, workingContext))
|
||||
addToArrayListUnique(Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, requiredPermissions);
|
||||
|
||||
if(Build.VERSION.SDK_INT >= 33 && BuildConfig.FLAVOR.equals(AutomationService.flavor_name_googleplay))
|
||||
{
|
||||
if (!havePermission(android.Manifest.permission.POST_NOTIFICATIONS, workingContext))
|
||||
addToArrayListUnique(android.Manifest.permission.POST_NOTIFICATIONS, requiredPermissions);
|
||||
}
|
||||
|
||||
if(!havePermission(Manifest.permission.READ_EXTERNAL_STORAGE, workingContext))
|
||||
{
|
||||
for (Profile p : Profile.getProfileCollection())
|
||||
|
@ -265,7 +265,6 @@ public class NotificationListener extends NotificationListenerService// implemen
|
||||
cancelNotification(sbn.getPackageName(), sbn.getTag(), sbn.getId());
|
||||
else
|
||||
cancelNotification(sbn.getKey());
|
||||
|
||||
}
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
|
||||
@ -298,46 +297,4 @@ public class NotificationListener extends NotificationListenerService// implemen
|
||||
if(!buttonFound)
|
||||
Miscellaneous.logEvent("w", "clickNotificationButton()", "Button with text \n" + buttonText + "\n could not found.", 2);
|
||||
}
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
|
||||
public static boolean mayRuleStillBeActivatedForPendingNotifications(Rule rule)
|
||||
{
|
||||
for(RuleNotificationPair pair : notificationUsed)
|
||||
Miscellaneous.logEvent("i", "mayRuleStillBeActivatedForPendingCalendarEvents()", "Existing pair of " + pair.rule.getName() + " and " + pair.notification, 5);
|
||||
|
||||
for(StatusBarNotification sbn : NotificationListener.getInstance().getActiveNotifications())
|
||||
{
|
||||
for(Trigger t : rule.getTriggerSet())
|
||||
{
|
||||
if(t.getTriggerType().equals(Trigger.Trigger_Enum.notification) && NotificationListener.getInstance().checkNotification(true, sbn))
|
||||
{
|
||||
if (!hasNotificationBeenUsedInRule(rule, convertNotificationToSimpleNotification(true, sbn)))
|
||||
{
|
||||
/*
|
||||
If there are multiple parallel calendar events and a rule has multiple
|
||||
triggers of type calendar event, we don't want the rule to fire only once.
|
||||
*/
|
||||
if(rule.getAmountOfTriggersForType(Trigger.Trigger_Enum.notification) == 1)
|
||||
{
|
||||
Miscellaneous.logEvent("i", "mayRuleStillBeActivatedForPendingNotifications()", "Rule " + rule.getName() + " has not been used in conjunction with notification " + sbn, 4);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean hasNotificationBeenUsedInRule(Rule rule, SimpleNotification notification)
|
||||
{
|
||||
for (RuleNotificationPair executedPair : notificationUsed)
|
||||
{
|
||||
if (executedPair.rule.equals(rule) && executedPair.notification.equals(notification))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
@ -15,21 +15,21 @@ Mögliche Auslöser:
|
||||
* Flugzeugmodus
|
||||
* Roaming aktiv oder nicht
|
||||
* NFC tags
|
||||
************** Aktivitätserkennung (nicht in F-Droid Version)
|
||||
* Aktivitätserkennung (nicht in F-Droid Version)
|
||||
* Bluetooth Gerät verbunden
|
||||
* Headset verbunden
|
||||
* Benachrichtigungen anderer Anwendungen
|
||||
* Geräteausrichtung (Gyroskop)
|
||||
* Profile aktiv oder nicht
|
||||
************ Bildschirmzustand (aus-/eingeschaltet)
|
||||
************ Musikwiedergabestatus
|
||||
************ Gerät startet
|
||||
************ Dienst startet
|
||||
* Bildschirmzustand (aus-/eingeschaltet)
|
||||
* Musikwiedergabestatus
|
||||
* Gerät startet
|
||||
* Dienst startet
|
||||
* Broadcasts anderer Anwendungen
|
||||
************ Router-Zustand
|
||||
************ Zustände (Bluetooth/WLAN aus oder an)
|
||||
* Router-Zustand
|
||||
* Zustände (Bluetooth/WLAN aus oder an)
|
||||
* Variablen, die gesetzt wurden
|
||||
*********** Kalendertermine
|
||||
* Kalendertermine
|
||||
* Telefongespräch im Gange
|
||||
|
||||
Mögliche Aktionen:
|
||||
@ -48,21 +48,21 @@ Mögliche Aktionen:
|
||||
* Mobile Daten ein-/ausschalten
|
||||
* Text sprechen (TTS)
|
||||
* Musikplayer öffnen
|
||||
********** Medienwiedergabe steuern
|
||||
* Medienwiedergabe steuern
|
||||
* Bildschirmhelligkeit ändern
|
||||
* Sounddatei abspielen
|
||||
******** Vibrieren
|
||||
* Vibrieren
|
||||
* Benachrichtigungen erstellen
|
||||
******* Benachrichtigungen schließen
|
||||
******* Broadcast verschicken
|
||||
******** Script/Befehl ausführen
|
||||
******* Bildschirm aktiv halten
|
||||
* Benachrichtigungen schließen
|
||||
* Broadcast verschicken
|
||||
* Script/Befehl ausführen
|
||||
* Bildschirm aktiv halten
|
||||
* Variablen setzen
|
||||
* Telefonanrufe starten
|
||||
**********Telefonanrufe beenden
|
||||
********** Text in Zwischenablage kopieren
|
||||
********* Screenshot erstellen
|
||||
********* GPS Einstellungen setzen
|
||||
* Telefonanrufe beenden
|
||||
* Text in Zwischenablage kopieren
|
||||
* Screenshot erstellen
|
||||
* GPS Einstellungen setzen
|
||||
* SMS verschicken
|
||||
|
||||
Es ist ziemlich schwierig diese Anwendung über die vielen verschiedenen Geräte und Android Versionen am Laufen zu halten. Ich kann vieles im Emulator testen, aber eben nicht alles.
|
||||
|
@ -26,6 +26,7 @@ Déclencheurs :
|
||||
* Appareil démarré
|
||||
* Service démarré
|
||||
* Variables qui ont été définies
|
||||
...et bien plus encore
|
||||
|
||||
Actions :
|
||||
* Basculer Wifi (supprimé des appareils plus récents en raison des restrictions Google)
|
||||
@ -47,6 +48,7 @@ Actions :
|
||||
* Fermer les notifications
|
||||
* Définir des variables
|
||||
* Initier des appels téléphoniques
|
||||
...et bien plus encore
|
||||
|
||||
Explications sur l'utilisation des autorisations :
|
||||
https://server47.de/automation/permissions.php
|
@ -23,6 +23,7 @@ Eventi supportati:
|
||||
* Profilo attivo o meno
|
||||
* Broadcasts di altre app
|
||||
* Variabili che sono state impostate
|
||||
...e molto altro ancora
|
||||
|
||||
Azioni supportate:
|
||||
* Cambia lo stato del wifi
|
||||
@ -46,6 +47,7 @@ Azioni supportate:
|
||||
* Creare notifiche
|
||||
* Imposta variabili
|
||||
* Avviare telefonate
|
||||
...e molto altro ancora
|
||||
|
||||
È piuttosto difficile mantere questa applicazione funzionante su tutti gli hardware esistenti ed includendo tutti i cambi che Android riceve fra una versione e l'altra. Posso effettuare tests nell'emulatore, ma non sarà possibile trovare tutti gli errori.
|
||||
Pertanto, se una certa funzione non funziona sul tuo dispositivo - fammelo sapere. Nel corso degli anni ho potuto risolvere tutti gli errori che sono stati riportati in maniera ragionevole. Infatti, per questo, dipendo dalle informazioni condivise.
|
||||
|
@ -25,6 +25,7 @@ Ondersteunde triggers:
|
||||
* Profiel actief of niet
|
||||
* Broadcasts van andere apps
|
||||
* Variabelen die zijn ingesteld
|
||||
...en nog veel meer
|
||||
|
||||
Ondersteunde acties:
|
||||
* Wijzig wifi status
|
||||
@ -48,6 +49,7 @@ Ondersteunde acties:
|
||||
* Meldingen maken
|
||||
* Stel variabelen in
|
||||
* Start telefoongesprekken
|
||||
...en nog veel meer
|
||||
|
||||
Het is lastig om deze App werkend te houden over de vele verschillende hardware en de vele veranderingen die Android ondergaat in de loop der versies.
|
||||
Ik test het in een emulator, maar dat kan niet alle bugs laten zien.
|
||||
|
@ -1,23 +1,77 @@
|
||||
Skaner kodów kreskowych to darmowa i otwarta aplikacja, która umożliwia odczytywanie i generowanie kodów kreskowych. Może gromadzić informacje o produktach spożywczych, kosmetykach i książkach.
|
||||
Twórz reguły składające się z wyzwalaczy i akcji. Wybitnym przykładem może być coś takiego jak "Wycisz telefon w pracy".
|
||||
|
||||
Różne formaty kodów kreskowych są zarządzane przez aplikację:
|
||||
• dwuwymiarowe kody kreskowych: QR Code, Data Matrix, PDF 417, AZTEC
|
||||
• jednowymiarowe kody kreskowe: EAN 13, EAN 8, UPC A, UPC E, Code 128, Code 93, Code 39, Codabar, IT
|
||||
Oto lista obsługiwanych wyzwalaczy i akcji:
|
||||
|
||||
Zbiera informacje o produkcie podczas skanowania:
|
||||
• Produkty spożywcze z Open Food Facts
|
||||
• Kosmetyki z otwartymi faktami na temat urody
|
||||
• Produkty spożywcze dla zwierząt domowych z Open Pet Food Fakty
|
||||
• Książki z Open Library
|
||||
Obsługiwane wyzwalacze:
|
||||
* Lokalizacja
|
||||
* Dzień/godzina
|
||||
* Stan ładowania
|
||||
* Poziom naładowania baterii
|
||||
* Nawiązano połączenie USB z komputerem
|
||||
* Aktualna prędkość
|
||||
* Szum tła (tylko do Androida 7)
|
||||
* Połączenie Wi-Fi
|
||||
* Inne uruchomione aplikacje
|
||||
* Tryb samolotowy
|
||||
* Status roamingu
|
||||
* Tagi NFC
|
||||
* Wykrywanie aktywności (nie w wersji F-Droid)
|
||||
* Połączenie Bluetooth
|
||||
* Podłączony zestaw słuchawkowy
|
||||
* Powiadomienia o innych aplikacjach
|
||||
* Orientacja urządzenia (żyroskop)
|
||||
* Profil aktywny lub nie
|
||||
* Stan ekranu (włączony lub wyłączony)
|
||||
* Stan odtwarzania multimediów
|
||||
* Urządzenie się uruchamia
|
||||
* Usługa jest uruchamiana
|
||||
* Transmisje innych aplikacji
|
||||
* Stan routera
|
||||
* Stany systemu (Bluetooth/Wi-Fi)
|
||||
* Zmienne, które zostały ustawione
|
||||
* Spotkania w kalendarzu
|
||||
* Rozmowa telefoniczna uruchomiona
|
||||
|
||||
Funkcje aplikacji :
|
||||
• Wystarczy skierować aparat smartfona na kod kreskowy i natychmiast otrzymać o nim informację. Możesz także skanować kody kreskowe za pomocą obrazu w smartfonie.
|
||||
• Za pomocą prostego skanowania czytaj wizytówki, dodawaj nowe kontakty, dodawaj nowe wydarzenia do swojego planu, otwieraj adresy URL, a nawet łącz się z Wi-Fi.
|
||||
• Skanuj kody kreskowe produktów spożywczych, aby otrzymywać informacje o ich składzie dzięki bazom danych Open Food Facts i Open Beauty Facts.
|
||||
• Wyszukaj informacje o skanowanym produkcie, dzięki szybkiemu badaniu na różnych stronach internetowych, takich jak Amazon lub Fnac.
|
||||
• Śledź wszystkie zeskanowane kody kreskowe za pomocą narzędzia historii.
|
||||
• Generuj własne kody kreskowe
|
||||
• Dostosuj interfejs za pomocą różnych kolorów, jasnego motywu lub ciemnego. Aplikacja integruje funkcje Androida 12, umożliwiając dostosowanie kolorów w zależności od tapety.
|
||||
• Teksty są w całości tłumaczone na język angielski, hiszpański, francuski, niemiecki, polski, rosyjski i chiński.
|
||||
Obsługiwane działania:
|
||||
* Zmień stan Wi-Fi
|
||||
* Zmień stan bluetooth
|
||||
* Przełącz tethering USB
|
||||
* Przełącz tethering Wi-Fi
|
||||
* Przełącz tethering Bluetooth
|
||||
* Przełącz automatyczne obracanie ekranu
|
||||
* Wyślij żądanie HTTP
|
||||
* Zmień ustawienie dzwonka / dźwięku
|
||||
* Uruchom inną aplikację
|
||||
* Czekaj (pomiędzy innymi czynnościami)
|
||||
* Włącz lub wyłącz ekran
|
||||
* Przełącz tryb samolotowy
|
||||
* Przełącz komórkowe połączenie transmisji danychc
|
||||
* Odczytaj tekst
|
||||
* Otwórz odtwarzacz muzyki
|
||||
* Kontroluj odtwarzanie multimediów
|
||||
* Zmień jasność ekranu
|
||||
* Odtwórz plik dźwiękowy
|
||||
* Tworzenie powiadomień
|
||||
* Zamknij powiadomienia
|
||||
* Wysyłaj transmisje
|
||||
* Uruchom skrypt/polecenie
|
||||
* Utrzymuj aktywny ekran
|
||||
* Ustawianie zmiennych
|
||||
* Inicjowanie połączeń telefonicznych
|
||||
* Zakończ połączenia telefoniczne
|
||||
* Skopiuj tekst do schowka
|
||||
* Zrób zrzut ekranu
|
||||
* Zmień ustawienie lokalizacji
|
||||
* Wyślij wiadomość tekstową
|
||||
|
||||
Ta aplikacja szanuje Twoją prywatność. Nie zawiera żadnych trackerów i nie zbiera żadnych danych.
|
||||
Dość trudno jest utrzymać tę aplikację działającą na wielu różnych urządzeniach, a także na wielu zmianach, jakie Android przechodzi w wersjach. Mogę to przetestować w emulatorze, ale to nie może pokazać wszystkich błędów.
|
||||
Więc jeśli jakaś funkcja nie działa na Twoim urządzeniu - daj mi znać. Przez lata naprawiłem prawie wszystkie błędy, które zostały mi rozsądnie zgłoszone. Ale w tym zakresie jestem zależny od twojego wkładu. Jeśli masz problem i myślisz o skontaktowaniu się ze mną, proszę - Najpierw zaktualizuj do najnowszej wersji i sprawdź, czy problem nadal występuje. - Najpierw sprawdź listę znanych problemów: https://server47.de/automation/index.php#knownProblems
|
||||
|
||||
Darowizny to z pewnością dobry, ale nie jedyny sposób na zmotywowanie mnie :-)
|
||||
* Jeśli chcesz mnie wesprzeć, możesz również wystawić pozytywną recenzję aplikacji w Google Play (https://play.google.com/store/apps/details?id=com.jens.automation2).
|
||||
* Jeśli podoba Ci się aplikacja, zawsze mile widziane są ciepłe słowa za pośrednictwem poczty elektronicznej.
|
||||
* Ponadto zawsze mogę skorzystać z pomocy w tłumaczeniu aplikacji. Angielski, niemiecki i trochę hiszpański należą do moich własnych umiejętności. Italiano e russo sono già coperti. Ale wszystko inne jest więcej niż mile widziane.
|
||||
* Jeśli masz talent/doświadczenie w projektowaniu graficznym i masz jakieś pomysły na ładniejsze ikony, daj mi znać.
|
||||
* Jeśli masz ciekawy przypadek użycia lub znalazłeś sposób na połączenie wyzwalaczy i akcji, aby osiągnąć coś intrygującego i uważasz, że warto umieścić to na stronie przykładów (https://server47.de/automation/examples.html), daj mi znać.
|
||||
|
||||
Wyjaśnienie wielu uprawnień można znaleźć tutaj: https://server47.de/automation/permissions.php
|
@ -1 +1 @@
|
||||
Darmowa i otwartoźródłowa aplikacja do odycztywania i tworzenia kodów QR.
|
||||
Zautomatyzuj rzeczy na swoim urządzeniu, tworząc reguły.
|
@ -23,6 +23,7 @@
|
||||
* Состояние профиля
|
||||
* Broadcast от других приложений
|
||||
* Переменные, которые были установлены
|
||||
...и многое другое
|
||||
|
||||
Действия:
|
||||
* Вкл/Выкл Wi-Fi
|
||||
@ -45,6 +46,7 @@
|
||||
* Создать уведомление
|
||||
* Установка переменных
|
||||
* Инициирование телефонных звонков
|
||||
...и многое другое
|
||||
|
||||
Достаточно сложно поддерживать работоспособность этого приложения на всех версиях устройств и Android. Я проверяю его в эмуляторе, но это не может обнаружить все ошибки.
|
||||
Поэтому если какая-то функция не рабоатет на вашем устройстве- дайте мне знать. Я постоянно устраняю ошибки, полученные от пользователей, но для этого мне нужна обратная связь.
|
||||
|
@ -23,6 +23,7 @@
|
||||
* 情景模式是否激活
|
||||
* 其他应用的广播
|
||||
* 已设置的变量
|
||||
...以及更多
|
||||
|
||||
支持的动作:
|
||||
* 更改 WLAN 状态
|
||||
@ -46,6 +47,7 @@
|
||||
* 创建通知
|
||||
* 设置变量
|
||||
* 发起通话
|
||||
...以及更多
|
||||
|
||||
保持这个应用在各种不同硬件、Android 版本的大量更改中正常运行是很困难的。我可以在模拟器中测试,但这样不能显示所有的错误。
|
||||
因此,如果某个功能无法在您的设备上运行——请告诉我。多年来,我已经修复了几乎所有合理地报告给我的错误。但为此我依赖于您的输入。
|
||||
|
Loading…
Reference in New Issue
Block a user