From 4eb7133d9d6e97754f19d47051467e91943c7cb8 Mon Sep 17 00:00:00 2001 From: Jens Date: Mon, 23 May 2022 22:45:54 +0200 Subject: [PATCH] operator change --- .../com/jens/automation2/ActivityManageRule.java | 3 ++- .../receivers/ScreenStateReceiver.java | 15 +++++++++++++-- app/src/main/res/values-de/strings.xml | 8 +++++++- app/src/main/res/values/strings.xml | 3 ++- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/jens/automation2/ActivityManageRule.java b/app/src/main/java/com/jens/automation2/ActivityManageRule.java index 29eb7362..83a7503a 100644 --- a/app/src/main/java/com/jens/automation2/ActivityManageRule.java +++ b/app/src/main/java/com/jens/automation2/ActivityManageRule.java @@ -1079,7 +1079,8 @@ public class ActivityManageRule extends Activity String[] choices = { Miscellaneous.getAnyContext().getResources().getString(R.string.off), Miscellaneous.getAnyContext().getResources().getString(R.string.on), - Miscellaneous.getAnyContext().getResources().getString(R.string.unlocked) + Miscellaneous.getAnyContext().getResources().getString(R.string.unlocked), + Miscellaneous.getAnyContext().getResources().getString(R.string.locked) }; alertDialog.setItems(choices, new DialogInterface.OnClickListener() diff --git a/app/src/main/java/com/jens/automation2/receivers/ScreenStateReceiver.java b/app/src/main/java/com/jens/automation2/receivers/ScreenStateReceiver.java index 22108d48..bf28b07f 100644 --- a/app/src/main/java/com/jens/automation2/receivers/ScreenStateReceiver.java +++ b/app/src/main/java/com/jens/automation2/receivers/ScreenStateReceiver.java @@ -30,6 +30,8 @@ public class ScreenStateReceiver extends BroadcastReceiver implements Automation private static Intent screenStatusIntent = null; private static BroadcastReceiver screenStateReceiverInstance = null; + public final static String broadcastScreenLocked = "automation.system.screen_locked"; + public static BroadcastReceiver getScreenStateReceiverInstance() { if(screenStateReceiverInstance == null) @@ -53,6 +55,7 @@ public class ScreenStateReceiver extends BroadcastReceiver implements Automation screenStateIntentFilter.addAction(Intent.ACTION_SCREEN_OFF); screenStateIntentFilter.addAction(Intent.ACTION_SCREEN_ON); screenStateIntentFilter.addAction(Intent.ACTION_USER_PRESENT); // also fired when device is unlocked + screenStateIntentFilter.addAction(broadcastScreenLocked); // Intent.ACTION_USER_UNLOCKED } @@ -120,8 +123,12 @@ public class ScreenStateReceiver extends BroadcastReceiver implements Automation KeyguardManager kgMgr = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); boolean unlocked = kgMgr.inKeyguardRestrictedInputMode(); - - Automat + if(!unlocked) + { + Intent lockedBroadcastIntent = new Intent(); + lockedBroadcastIntent.setAction(broadcastScreenLocked); + context.sendBroadcast(lockedBroadcastIntent); + } } else if(intent.getAction().equals(Intent.ACTION_SCREEN_ON)) { @@ -131,6 +138,10 @@ public class ScreenStateReceiver extends BroadcastReceiver implements Automation { ScreenStateReceiver.screenState = 2; } + else if(intent.getAction().equals(broadcastScreenLocked)) + { + ScreenStateReceiver.screenState = 3; + } else { Miscellaneous.logEvent("e", "ScreenStateReceiver", "Unknown state received: " + intent.getAction(), 3); diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index e1c40018..6241f66c 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -413,7 +413,7 @@ Lautstärkekalibrierung Um einen dB Wert für die Lautstärkemessung zu berechnen müssen Sie einen sogenannten physikalischen Referenzwert angeben. Bitte lesen Sie bei Wikipedia nach, um mehr zu erfahren. Dieser Wert wird höchstwahrscheinlich für jedes Smartphone oder Tablet anders sein, deshalb diese Testanwendung. Verschieben Sie den Regler, um den gegenwärtig definierten Wert zu ändern. Je höher der Referenzwert desto niedriger wird der dB Wert. Es werden alle paar %1$s Sekunden neue Messungen vorgenommen und das Ergebnis unten angezeigt. Drücken Sie den zurück-Button, wenn Sie einen passenden Wert gefunden haben. Manche Einstellungen können nicht übernommen werden bevor der Dienst neu gestartet wird. - Sie müssen Ihr Telefon rooten, damit diese Funktion funktionieren kann. Danach müssen Sie "Regel manuell ausführen", um den SuperUser Berechtigungsdialog zu zeigen. Wenn dieser erscheint, müssen Sie den Haken setzen, der es immer erlaubt. Ansonsten kann die Regel nicht funktionieren, wenn Sie das Telefon gerade nicht benutzen und demnach den nächsten Dialog nicht genehmigen können. + Sie müssen Ihr Telefon rooten, damit diese Funktion funktionieren kann. Danach müssen Sie die Regel manuell ausführen, um den SuperUser Berechtigungsdialog zu zeigen. Wenn dieser erscheint, müssen Sie den Haken "immer erlauben" setzen. Ansonsten wird die Regel nicht funktionieren, wenn Sie das Telefon gerade nicht benutzen. Fehler beim Schreiben der Konfiguration. Gibt es einen beschreibbaren Speicher, und wurde alle Berechtigungen gegeben? Die letzte Telefonnummer konnte nicht in die Variable integriert werden. Sie liegt mir nicht vor. Benutzername @@ -708,4 +708,10 @@ Gerät startet Gerät ist gerade gestartet Dienst ist gerade gestartet + Broadcast empfangen + Broadcast nicht empfangen + Broadcast empfangen + Vorschläge anzeigen + Broadcast auswählen + gesperrt \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dc1f820f..6c794259 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -807,9 +807,10 @@ broadcast received broadcast not received Most events on your phone will be \"published\" by broadcasting them throughout the operating system.\nFor example turning on/off airplane mode will trigger such a broadcast. Those broadcasts are not automatically visible/audible, but if an application (like Automation) is interested it can hook up to them. When they occur it will get notified and can react.\n\nYou can define a broadcast event here for which the application will wait. You may enter it manually, copy & paste it from somewhere or pick one from the list of suggestions. As this trigger is meant to be and remain very flexible I cannot provide you with explanations for the items.\n\nThe list of suggestions does not claim to be complete. Please visit the below URL to have a look at the Android documentation.\nAlso any app can send custom events which will not appear in the Android documentation of course.\n\nMany broadcasts require specific permissions in order to work. I try to request permissions where I know they will be required. If you think a permission is required for the action you entered, please let me know.\n\nNot received means there has not been such a broadcast ever since the service has been started. Responding to certain parameters is in development. - https://developer.android.com/reference/android/content/Intent.html + https://developer.android.com/reference/android/content/Intent.html Broadcast received To avoid unnecessary wearing of your storage, logs are not saved by default. So if you have a problem please activate logging in settings first and set log level to 5. Then reproduce the problem. Only then logs can be attached. Show suggestions Select broadcast + locked \ No newline at end of file