From 4fc1f8a2a9f5d82c7038ec11fb483acbe7d0dc64 Mon Sep 17 00:00:00 2001 From: jens Date: Mon, 13 Dec 2021 20:03:00 +0100 Subject: [PATCH] Rework --- .../java/com/jens/automation2/Rule.java | 277 +++--------------- .../receivers/ActivityDetectionReceiver.java | 2 +- .../com/jens/automation2/PointOfInterest.java | 10 +- .../location/LocationProvider.java | 2 +- .../location/WifiBroadcastReceiver.java | 3 +- .../receivers/BatteryReceiver.java | 71 ++--- .../receivers/BluetoothReceiver.java | 2 +- .../receivers/ConnectivityReceiver.java | 8 +- .../receivers/DateTimeListener.java | 8 +- .../receivers/HeadphoneJackListener.java | 5 +- .../automation2/receivers/NfcReceiver.java | 3 +- .../automation2/receivers/NoiseListener.java | 2 +- .../receivers/PhoneStatusListener.java | 9 +- .../receivers/ProcessListener.java | 2 +- 14 files changed, 97 insertions(+), 307 deletions(-) diff --git a/app/src/apkFlavor/java/com/jens/automation2/Rule.java b/app/src/apkFlavor/java/com/jens/automation2/Rule.java index dffc104..c828fbc 100644 --- a/app/src/apkFlavor/java/com/jens/automation2/Rule.java +++ b/app/src/apkFlavor/java/com/jens/automation2/Rule.java @@ -546,6 +546,26 @@ public class Rule implements Comparable ActivateRuleTask task = new ActivateRuleTask(); task.execute(automationService, force); } + + public static ArrayList findRuleCandidates(Trigger.Trigger_Enum triggerType) + { + ArrayList ruleCandidates = new ArrayList(); + + for(Rule oneRule : ruleCollection) + { + innerloop: + for(Trigger oneTrigger : oneRule.getTriggerSet()) + { + if(oneTrigger.getTriggerType() == triggerType) + { + ruleCandidates.add(oneRule); + break innerloop; // we don't need to check the other triggers in the same rule + } + } + } + + return ruleCandidates; + } public static ArrayList findRuleCandidatesByPoi(PointOfInterest searchPoi, boolean triggerParameter) { @@ -588,7 +608,7 @@ public class Rule implements Comparable return ruleCandidates; } - public static ArrayList findRuleCandidatesByTimeFrame(TimeFrame searchTimeFrame, boolean triggerParameter) + /*public static ArrayList findRuleCandidatesByTimeFrame(TimeFrame searchTimeFrame, boolean triggerParameter) { ArrayList ruleCandidates = new ArrayList(); @@ -609,8 +629,9 @@ public class Rule implements Comparable } return ruleCandidates; - } - public static ArrayList findRuleCandidatesByTime(Time searchTime) + }*/ + + /*public static ArrayList findRuleCandidatesByTime(Time searchTime) { Miscellaneous.logEvent("i", "RuleSearch", "Searching for rules with TimeFrame with time " + searchTime.toString() + ". RuleCollection-Size: " + String.valueOf(ruleCollection.size()), 3);; ArrayList ruleCandidates = new ArrayList(); @@ -649,29 +670,9 @@ public class Rule implements Comparable Miscellaneous.logEvent("i", "RuleSearch", String.valueOf(ruleCandidates.size()) + " Rule(s) found with TimeFrame with time " + searchTime.toString(), 3); return ruleCandidates; - } + }*/ - public static ArrayList findRuleCandidatesByTimeFrame() - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == Trigger.Trigger_Enum.timeFrame) - { - ruleCandidates.add(oneRule); - break innerloop; //if the poi is found we don't need to search the other triggers in the same rule - } - } - } - - return ruleCandidates; - } - - public static ArrayList findRuleCandidatesByCharging(boolean triggerParameter) + /*public static ArrayList findRuleCandidatesByCharging(boolean triggerParameter) { ArrayList ruleCandidates = new ArrayList(); @@ -692,9 +693,9 @@ public class Rule implements Comparable } return ruleCandidates; - } + }*/ - public static ArrayList findRuleCandidatesByUsbHost(boolean triggerParameter) + /*public static ArrayList findRuleCandidatesByUsbHost(boolean triggerParameter) { ArrayList ruleCandidates = new ArrayList(); @@ -715,147 +716,9 @@ public class Rule implements Comparable } return ruleCandidates; - } + }*/ - public static ArrayList findRuleCandidatesByBatteryLevel() - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == Trigger.Trigger_Enum.batteryLevel) - { -// if(oneTrigger.getTriggerParameter() == triggerParameter) -// { - ruleCandidates.add(oneRule); - break innerloop; //if the poi is found we don't need to search the other triggers in the same rule -// } - } - } - } - - return ruleCandidates; - } - - public static ArrayList findRuleCandidatesBySpeed() - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == Trigger.Trigger_Enum.speed) - { -// if(oneTrigger.getTriggerParameter() == triggerParameter) -// { - ruleCandidates.add(oneRule); - break innerloop; //if the poi is found we don't need to search the other triggers in the same rule -// } - } - } - } - - return ruleCandidates; - } - - public static ArrayList findRuleCandidatesByNoiseLevel() - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == Trigger.Trigger_Enum.noiseLevel) - { -// if(oneTrigger.getTriggerParameter() == triggerParameter) -// { - ruleCandidates.add(oneRule); - break innerloop; //if the poi is found we don't need to search the other triggers in the same rule -// } - } - } - } - - return ruleCandidates; - } - - public static ArrayList findRuleCandidatesByWifiConnection() - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == Trigger.Trigger_Enum.wifiConnection) - { -// if(oneTrigger.getTriggerParameter() == triggerParameter) -// { - ruleCandidates.add(oneRule); - break innerloop; //we don't need to search the other triggers in the same rule -// } - } - } - } - - return ruleCandidates; - } - - public static ArrayList findRuleCandidatesByBluetoothConnection() - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == Trigger.Trigger_Enum.bluetoothConnection) - { -// if(oneTrigger.getTriggerParameter() == triggerParameter) -// { - ruleCandidates.add(oneRule); - break innerloop; //we don't need to search the other triggers in the same rule -// } - } - } - } - - return ruleCandidates; - } - - public static ArrayList findRuleCandidatesByProcess() - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == Trigger.Trigger_Enum.process_started_stopped) - { -// if(oneTrigger.getTriggerParameter() == triggerParameter) -// { - ruleCandidates.add(oneRule); - break innerloop; //we don't need to search the other triggers in the same rule -// } - } - } - } - - return ruleCandidates; - } - - public static ArrayList findRuleCandidatesByAirplaneMode(boolean triggerParameter) + /*public static ArrayList findRuleCandidatesByAirplaneMode(boolean triggerParameter) { ArrayList ruleCandidates = new ArrayList(); @@ -876,9 +739,9 @@ public class Rule implements Comparable } return ruleCandidates; - } + }*/ - public static ArrayList findRuleCandidatesByRoaming(boolean triggerParameter) + /*public static ArrayList findRuleCandidatesByRoaming(boolean triggerParameter) { ArrayList ruleCandidates = new ArrayList(); @@ -899,9 +762,9 @@ public class Rule implements Comparable } return ruleCandidates; - } + }*/ - public static ArrayList findRuleCandidatesByPhoneCall(String direction) + /*public static ArrayList findRuleCandidatesByPhoneCall(String direction) { ArrayList ruleCandidates = new ArrayList(); @@ -923,73 +786,7 @@ public class Rule implements Comparable } return ruleCandidates; - } - - public static ArrayList findRuleCandidatesByNfc() - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == Trigger.Trigger_Enum.nfcTag) - { -// if(oneTrigger.getTriggerParameter() == triggerParameter) -// { - ruleCandidates.add(oneRule); - break innerloop; //we don't need to search the other triggers in the same rule -// } - } - } - } - - return ruleCandidates; - } - - public static ArrayList findRuleCandidates(Trigger.Trigger_Enum triggerType) - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == triggerType) - { - ruleCandidates.add(oneRule); - break innerloop; //we don't need to search the other triggers in the same rule - } - } - } - - return ruleCandidates; - } - - public static ArrayList findRuleCandidatesByActivityDetection() - { - ArrayList ruleCandidates = new ArrayList(); - - for(Rule oneRule : ruleCollection) - { - innerloop: - for(Trigger oneTrigger : oneRule.getTriggerSet()) - { - if(oneTrigger.getTriggerType() == Trigger.Trigger_Enum.activityDetection) - { -// if(oneTrigger.getTriggerParameter() == triggerParameter) -// { - ruleCandidates.add(oneRule); - break innerloop; //we don't need to search the other triggers in the same rule -// } - } - } - } - - return ruleCandidates; - } + }*/ public static ArrayList findRuleCandidatesByPoi(PointOfInterest searchPoi) { @@ -1014,7 +811,7 @@ public class Rule implements Comparable return ruleCandidates; } - public static ArrayList findRuleCandidatesByHeadphoneJack(boolean triggerParameter) + /*public static ArrayList findRuleCandidatesByHeadphoneJack(boolean triggerParameter) { ArrayList ruleCandidates = new ArrayList(); @@ -1035,7 +832,7 @@ public class Rule implements Comparable } return ruleCandidates; - } + }*/ public static ArrayList findRuleCandidatesByProfile(Profile profile) { diff --git a/app/src/apkFlavor/java/com/jens/automation2/receivers/ActivityDetectionReceiver.java b/app/src/apkFlavor/java/com/jens/automation2/receivers/ActivityDetectionReceiver.java index 91ac350..09ae98a 100644 --- a/app/src/apkFlavor/java/com/jens/automation2/receivers/ActivityDetectionReceiver.java +++ b/app/src/apkFlavor/java/com/jens/automation2/receivers/ActivityDetectionReceiver.java @@ -291,7 +291,7 @@ public class ActivityDetectionReceiver extends IntentService implements Automati * and some activities are hierarchical (ON_FOOT is a generalization of WALKING and RUNNING). */ - ArrayList allRulesWithActivityDetection = Rule.findRuleCandidatesByActivityDetection(); + ArrayList allRulesWithActivityDetection = Rule.findRuleCandidates(Trigger_Enum.activityDetection); for(int i=0; i Settings.writeSettings(parentService); Miscellaneous.logEvent("i", "POI", "Reached POI " + this.getName() + ". Checking if there's a rule that applies to that.", 2); - - ArrayList ruleCandidates = Rule.findRuleCandidatesByPoi(this, true); + + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.pointOfInterest); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByPoi(this); if(ruleCandidates.size()==0) { Miscellaneous.logEvent("i", "POI", "POI " + this.getName() + " not found in ANY rule.", 2); @@ -289,8 +290,9 @@ public class PointOfInterest implements Comparable Settings.writeSettings(parentService); Miscellaneous.logEvent("i", "POI", "Left POI " + this.getName() + ". Checking if there's a rule that applies to that.", 2); - - ArrayList ruleCandidates = Rule.findRuleCandidatesByPoi(this, false); + + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.pointOfInterest); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByPoi(this); if(ruleCandidates.size()==0) { Miscellaneous.logEvent("i", "POI", "POI " + this.getName() + " not found in ANY rule.", 2); diff --git a/app/src/main/java/com/jens/automation2/location/LocationProvider.java b/app/src/main/java/com/jens/automation2/location/LocationProvider.java index b0951a8..fcab166 100644 --- a/app/src/main/java/com/jens/automation2/location/LocationProvider.java +++ b/app/src/main/java/com/jens/automation2/location/LocationProvider.java @@ -198,7 +198,7 @@ public class LocationProvider setSpeed(currentSpeed); // execute matching rules containing speed - ArrayList ruleCandidates = Rule.findRuleCandidatesBySpeed(); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.speed); for (Rule oneRule : ruleCandidates) { if(oneRule.getsGreenLight(this.getParentService())) diff --git a/app/src/main/java/com/jens/automation2/location/WifiBroadcastReceiver.java b/app/src/main/java/com/jens/automation2/location/WifiBroadcastReceiver.java index c354e9a..3d426a9 100644 --- a/app/src/main/java/com/jens/automation2/location/WifiBroadcastReceiver.java +++ b/app/src/main/java/com/jens/automation2/location/WifiBroadcastReceiver.java @@ -16,6 +16,7 @@ import com.jens.automation2.PointOfInterest; import com.jens.automation2.R; import com.jens.automation2.Rule; import com.jens.automation2.Settings; +import com.jens.automation2.Trigger; import java.util.ArrayList; @@ -144,7 +145,7 @@ public class WifiBroadcastReceiver extends BroadcastReceiver public static void findRules(AutomationService automationServiceInstance) { - ArrayList ruleCandidates = Rule.findRuleCandidatesByWifiConnection(); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger.Trigger_Enum.wifiConnection); for(Rule oneRule : ruleCandidates) { if(oneRule.getsGreenLight(automationServiceInstance)) diff --git a/app/src/main/java/com/jens/automation2/receivers/BatteryReceiver.java b/app/src/main/java/com/jens/automation2/receivers/BatteryReceiver.java index 0a45754..732d44f 100644 --- a/app/src/main/java/com/jens/automation2/receivers/BatteryReceiver.java +++ b/app/src/main/java/com/jens/automation2/receivers/BatteryReceiver.java @@ -1,5 +1,6 @@ package com.jens.automation2.receivers; +import android.Manifest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -18,7 +19,7 @@ import java.util.ArrayList; public class BatteryReceiver extends BroadcastReceiver implements AutomationListenerInterface { - private static int batteryLevel=-1; // initialize with a better value than this + private static int batteryLevel = -1; // initialize with a better value than this public static AutomationService automationServiceRef = null; private static boolean usbHostConnected = false; @@ -26,6 +27,7 @@ public class BatteryReceiver extends BroadcastReceiver implements AutomationList private static IntentFilter batteryIntentFilter = null; private static Intent batteryStatus = null; private static BroadcastReceiver batteryInfoReceiverInstance = null; + public static void startBatteryReceiver(final AutomationService automationServiceRef) { if(!batteryReceiverActive) @@ -78,11 +80,11 @@ public class BatteryReceiver extends BroadcastReceiver implements AutomationList return batteryLevel; } - private static int deviceIsCharging = 0; //0=unknown, 1=no, 2=yes + private static int currentChargingState = 0; //0=unknown, 1=no, 2=yes - public static int getDeviceIsCharging() + public static int getCurrentChargingState() { - return deviceIsCharging; + return currentChargingState; } @Override @@ -145,31 +147,6 @@ public class BatteryReceiver extends BroadcastReceiver implements AutomationList this.actionDischarging(context); break; } - // } - // else if(intent.getAction().equals(Intent.ACTION_POWER_CONNECTED)) - // { - //// Miscellaneous.logEvent("i", "BatteryReceiver", "Battery is charging or full."); - // deviceIsCharging = 2; - // //activate rule(s) - // ArrayList ruleCandidates = Rule.findRuleCandidatesByCharging(true); - // for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByCharging(false); - // for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByCharging(true); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.charging); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByCharging(true); for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByBatteryLevel(); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.batteryLevel); for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByCharging(false); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.charging); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByCharging(false); for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByUsbHost(true); + + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.usb_host_connection); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByUsbHost(true); for(Rule oneRule : ruleCandidates) { if(oneRule.getsGreenLight(context)) @@ -274,8 +254,9 @@ 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(); - - ArrayList ruleCandidates = Rule.findRuleCandidatesByUsbHost(false); + + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.usb_host_connection); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByUsbHost(false); for(Rule oneRule : ruleCandidates) { if(oneRule.getsGreenLight(context)) @@ -296,8 +277,8 @@ public class BatteryReceiver extends BroadcastReceiver implements AutomationList public static boolean haveAllPermission() { - return ActivityPermissions.havePermission("android.permission.READ_PHONE_STATE", Miscellaneous.getAnyContext()) && - ActivityPermissions.havePermission("android.permission.BATTERY_STATS", Miscellaneous.getAnyContext()); + return ActivityPermissions.havePermission(Manifest.permission.READ_PHONE_STATE, Miscellaneous.getAnyContext()) && + ActivityPermissions.havePermission(Manifest.permission.BATTERY_STATS, Miscellaneous.getAnyContext()); } @Override diff --git a/app/src/main/java/com/jens/automation2/receivers/BluetoothReceiver.java b/app/src/main/java/com/jens/automation2/receivers/BluetoothReceiver.java index 91c6dbf..449bc60 100644 --- a/app/src/main/java/com/jens/automation2/receivers/BluetoothReceiver.java +++ b/app/src/main/java/com/jens/automation2/receivers/BluetoothReceiver.java @@ -124,7 +124,7 @@ public class BluetoothReceiver extends BroadcastReceiver implements AutomationLi Miscellaneous.logEvent("i", "BluetoothReceiver", String.format(context.getResources().getString(R.string.bluetoothDeviceInRange), bluetoothDevice.getName()), 3); } - ArrayList ruleCandidates = Rule.findRuleCandidatesByBluetoothConnection(); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.bluetoothConnection); for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByAirplaneMode(isAirplaneMode); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.airplaneMode); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByAirplaneMode(isAirplaneMode); for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByRoaming(isRoaming); + + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.roaming); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByRoaming(isRoaming); for(int i=0; i allRulesWithNowInTimeFrame = Rule.findRuleCandidatesByTime(passTime); + + ArrayList allRulesWithNowInTimeFrame = Rule.findRuleCandidates(Trigger_Enum.timeFrame); +// ArrayList allRulesWithNowInTimeFrame = Rule.findRuleCandidatesByTime(passTime); for(int i=0; i allRulesWithTimeFrames = new ArrayList(); - allRulesWithTimeFrames = Rule.findRuleCandidatesByTimeFrame(); + allRulesWithTimeFrames = Rule.findRuleCandidates(Trigger_Enum.timeFrame); +// allRulesWithTimeFrames = Rule.findRuleCandidatesByTimeFrame(); /* * Take care of regular executions, no repetitions in between. */ diff --git a/app/src/main/java/com/jens/automation2/receivers/HeadphoneJackListener.java b/app/src/main/java/com/jens/automation2/receivers/HeadphoneJackListener.java index 4be1da6..dcd5f26 100644 --- a/app/src/main/java/com/jens/automation2/receivers/HeadphoneJackListener.java +++ b/app/src/main/java/com/jens/automation2/receivers/HeadphoneJackListener.java @@ -74,8 +74,9 @@ public class HeadphoneJackListener extends BroadcastReceiver implements Automati headsetConnected = true; Miscellaneous.logEvent("i", "HeadphoneJackListener", "Headset " + name + " plugged in.", 4); } - - ArrayList ruleCandidates = Rule.findRuleCandidatesByHeadphoneJack(isHeadsetConnected()); + + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.headsetPlugged); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByHeadphoneJack(isHeadsetConnected()); for(int i=0; i allRulesWithNfcTags = Rule.findRuleCandidatesByNfc(); + ArrayList allRulesWithNfcTags = Rule.findRuleCandidates(Trigger.Trigger_Enum.nfcTag); for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByNoiseLevel(); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.noiseLevel); for(Rule oneRule : ruleCandidates) { if(oneRule.getsGreenLight(automationService)) diff --git a/app/src/main/java/com/jens/automation2/receivers/PhoneStatusListener.java b/app/src/main/java/com/jens/automation2/receivers/PhoneStatusListener.java index a0c9baa..5e21ef0 100644 --- a/app/src/main/java/com/jens/automation2/receivers/PhoneStatusListener.java +++ b/app/src/main/java/com/jens/automation2/receivers/PhoneStatusListener.java @@ -109,7 +109,8 @@ public class PhoneStatusListener implements AutomationListenerInterface break; } - ArrayList ruleCandidates = Rule.findRuleCandidatesByPhoneCall(Trigger.triggerPhoneCallDirectionOutgoing); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.phoneCall); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByPhoneCall(Trigger.triggerPhoneCallDirectionOutgoing); for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByPhoneCall(Trigger.triggerPhoneCallDirectionIncoming); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.phoneCall); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByPhoneCall(Trigger.triggerPhoneCallDirectionIncoming); for (int i = 0; i < ruleCandidates.size(); i++) { AutomationService asInstance = AutomationService.getInstance(); @@ -178,7 +180,8 @@ public class PhoneStatusListener implements AutomationListenerInterface setLastPhoneNumber(phoneNumber); Miscellaneous.logEvent("i", "Call state", String.format(Miscellaneous.getAnyContext().getResources().getString(R.string.outgoingCallTo), getLastPhoneNumber()), 4); - ArrayList ruleCandidates = Rule.findRuleCandidatesByPhoneCall(Trigger.triggerPhoneCallDirectionOutgoing); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.phoneCall); +// ArrayList ruleCandidates = Rule.findRuleCandidatesByPhoneCall(Trigger.triggerPhoneCallDirectionOutgoing); for(int i=0; i ruleCandidates = Rule.findRuleCandidatesByProcess(); + ArrayList ruleCandidates = Rule.findRuleCandidates(Trigger_Enum.process_started_stopped); for(int i=0; i