diff --git a/app/build.gradle b/app/build.gradle index 86cb7db..f0cee5e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 diff --git a/app/src/googlePlayFlavor/AndroidManifest.xml b/app/src/googlePlayFlavor/AndroidManifest.xml index 8c22eb8..2aec771 100644 --- a/app/src/googlePlayFlavor/AndroidManifest.xml +++ b/app/src/googlePlayFlavor/AndroidManifest.xml @@ -71,6 +71,7 @@ android:name="android.permission.WRITE_SECURE_SETTINGS" tools:ignore="ProtectedPermissions" /> + @@ -107,7 +108,9 @@ android:exported="false" android:label="@string/app_name" /> - + @@ -214,7 +217,6 @@ - @@ -235,8 +237,6 @@ - - @@ -259,7 +259,8 @@ /> + android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" + android:exported="true"> diff --git a/app/src/main/java/com/jens/automation2/ActivityPermissions.java b/app/src/main/java/com/jens/automation2/ActivityPermissions.java index 221bca6..f637f6f 100644 --- a/app/src/main/java/com/jens/automation2/ActivityPermissions.java +++ b/app/src/main/java/com/jens/automation2/ActivityPermissions.java @@ -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()) diff --git a/app/src/main/java/com/jens/automation2/receivers/NotificationListener.java b/app/src/main/java/com/jens/automation2/receivers/NotificationListener.java index 5e66f8b..21d87b1 100644 --- a/app/src/main/java/com/jens/automation2/receivers/NotificationListener.java +++ b/app/src/main/java/com/jens/automation2/receivers/NotificationListener.java @@ -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; - } } \ No newline at end of file diff --git a/fastlane/metadata/android/de-DE/full_description.txt b/fastlane/metadata/android/de-DE/full_description.txt index 81d9799..870d928 100644 --- a/fastlane/metadata/android/de-DE/full_description.txt +++ b/fastlane/metadata/android/de-DE/full_description.txt @@ -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. diff --git a/fastlane/metadata/android/fr-FR/full_description.txt b/fastlane/metadata/android/fr-FR/full_description.txt index fa60c83..ba18dcc 100644 --- a/fastlane/metadata/android/fr-FR/full_description.txt +++ b/fastlane/metadata/android/fr-FR/full_description.txt @@ -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 \ No newline at end of file diff --git a/fastlane/metadata/android/it-IT/full_description.txt b/fastlane/metadata/android/it-IT/full_description.txt index 6e01734..615164a 100644 --- a/fastlane/metadata/android/it-IT/full_description.txt +++ b/fastlane/metadata/android/it-IT/full_description.txt @@ -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. diff --git a/fastlane/metadata/android/nl-NL/full_description.txt b/fastlane/metadata/android/nl-NL/full_description.txt index 29abee7..55cb046 100644 --- a/fastlane/metadata/android/nl-NL/full_description.txt +++ b/fastlane/metadata/android/nl-NL/full_description.txt @@ -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. diff --git a/fastlane/metadata/android/pl-PL/full_description.txt b/fastlane/metadata/android/pl-PL/full_description.txt index 869f1b0..af7aaf3 100644 --- a/fastlane/metadata/android/pl-PL/full_description.txt +++ b/fastlane/metadata/android/pl-PL/full_description.txt @@ -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 \ No newline at end of file diff --git a/fastlane/metadata/android/pl-PL/short_description.txt b/fastlane/metadata/android/pl-PL/short_description.txt index aff2cc5..1c55ad4 100644 --- a/fastlane/metadata/android/pl-PL/short_description.txt +++ b/fastlane/metadata/android/pl-PL/short_description.txt @@ -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. \ No newline at end of file diff --git a/fastlane/metadata/android/ru-RU/full_description.txt b/fastlane/metadata/android/ru-RU/full_description.txt index b203702..e641707 100644 --- a/fastlane/metadata/android/ru-RU/full_description.txt +++ b/fastlane/metadata/android/ru-RU/full_description.txt @@ -23,6 +23,7 @@ * Состояние профиля * Broadcast от других приложений * Переменные, которые были установлены +...и многое другое Действия: * Вкл/Выкл Wi-Fi @@ -45,6 +46,7 @@ * Создать уведомление * Установка переменных * Инициирование телефонных звонков +...и многое другое Достаточно сложно поддерживать работоспособность этого приложения на всех версиях устройств и Android. Я проверяю его в эмуляторе, но это не может обнаружить все ошибки. Поэтому если какая-то функция не рабоатет на вашем устройстве- дайте мне знать. Я постоянно устраняю ошибки, полученные от пользователей, но для этого мне нужна обратная связь. diff --git a/fastlane/metadata/android/zh-CN/full_description.txt b/fastlane/metadata/android/zh-CN/full_description.txt index 8c3e704..9725826 100644 --- a/fastlane/metadata/android/zh-CN/full_description.txt +++ b/fastlane/metadata/android/zh-CN/full_description.txt @@ -23,6 +23,7 @@ * 情景模式是否激活 * 其他应用的广播 * 已设置的变量 +...以及更多 支持的动作: * 更改 WLAN 状态 @@ -46,6 +47,7 @@ * 创建通知 * 设置变量 * 发起通话 +...以及更多 保持这个应用在各种不同硬件、Android 版本的大量更改中正常运行是很困难的。我可以在模拟器中测试,但这样不能显示所有的错误。 因此,如果某个功能无法在您的设备上运行——请告诉我。多年来,我已经修复了几乎所有合理地报告给我的错误。但为此我依赖于您的输入。