@ -556,7 +556,7 @@ public class Rule implements Comparable<Rule>
innerloop :
for ( Trigger oneTrigger : oneRule . getTriggerSet ( ) )
{
if ( oneTrigger . getTriggerType ( ) = = triggerType )
if ( oneTrigger . getTriggerType ( ) . equals ( triggerType ) )
{
ruleCandidates . add ( oneRule ) ;
break innerloop ; // we don't need to check the other triggers in the same rule
@ -566,6 +566,26 @@ public class Rule implements Comparable<Rule>
return ruleCandidates ;
}
public static ArrayList < Rule > findRuleCandidates ( Action . Action_Enum actionType )
{
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
for ( Rule oneRule : ruleCollection )
{
innerloop :
for ( Action oneAction : oneRule . getActionSet ( ) )
{
if ( oneAction . getAction ( ) . equals ( actionType ) )
{
ruleCandidates . add ( oneRule ) ;
break innerloop ; // we don't need to check the other actions in the same rule
}
}
}
return ruleCandidates ;
}
public static ArrayList < Rule > findRuleCandidatesByPoi ( PointOfInterest searchPoi , boolean triggerParameter )
{
@ -608,186 +628,6 @@ public class Rule implements Comparable<Rule>
return ruleCandidates ;
}
/ * public static ArrayList < Rule > findRuleCandidatesByTimeFrame ( TimeFrame searchTimeFrame , boolean triggerParameter )
{
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
for ( int i = 0 ; i < ruleCollection . size ( ) ; i + + )
{
innerloop :
for ( int j = 0 ; j < ruleCollection . get ( i ) . getTriggerSet ( ) . size ( ) ; j + + )
{
if ( ruleCollection . get ( i ) . getTriggerSet ( ) . get ( j ) . getTriggerType ( ) = = Trigger . Trigger_Enum . timeFrame )
{
if ( ruleCollection . get ( i ) . getTriggerSet ( ) . get ( j ) . getTimeFrame ( ) . equals ( searchTimeFrame ) & & ruleCollection . get ( i ) . getTriggerSet ( ) . get ( j ) . getTriggerParameter ( ) = = triggerParameter )
{
ruleCandidates . add ( ruleCollection . get ( i ) ) ;
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 < Rule > findRuleCandidatesByTime ( Time searchTime )
{
Miscellaneous . logEvent ( "i" , "RuleSearch" , "Searching for rules with TimeFrame with time " + searchTime . toString ( ) + ". RuleCollection-Size: " + String . valueOf ( ruleCollection . size ( ) ) , 3 ) ; ;
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
for ( Rule oneRule : ruleCollection )
{
innerloop :
for ( Trigger oneTrigger : oneRule . getTriggerSet ( ) )
{
if ( oneTrigger . getTriggerType ( ) = = Trigger . Trigger_Enum . timeFrame )
{
Miscellaneous . logEvent ( "i" , "RuleSearch" , "Searching interval: " + oneTrigger . getTimeFrame ( ) . getTriggerTimeStart ( ) . toString ( ) + " to " + oneTrigger . getTimeFrame ( ) . getTriggerTimeStop ( ) . toString ( ) , 5 ) ;
Miscellaneous . logEvent ( "i" , "RuleSearch" , "interval start: " + String . valueOf ( oneTrigger . getTimeFrame ( ) . getTriggerTimeStart ( ) . getTime ( ) ) , 5 ) ;
Miscellaneous . logEvent ( "i" , "RuleSearch" , "search time: " + String . valueOf ( searchTime . getTime ( ) ) , 5 ) ;
Miscellaneous . logEvent ( "i" , "RuleSearch" , "interval stop: " + String . valueOf ( oneTrigger . getTimeFrame ( ) . getTriggerTimeStop ( ) . getTime ( ) ) , 5 ) ;
if ( oneTrigger . getTimeFrame ( ) . getTriggerTimeStart ( ) . getTime ( ) > oneTrigger . getTimeFrame ( ) . getTriggerTimeStop ( ) . getTime ( ) )
{
Miscellaneous . logEvent ( "i" , "Timeframe search" , "Rule (" + oneRule . getName ( ) + ") stretches over midnight." , 5 ) ;
if ( oneTrigger . getTimeFrame ( ) . getTriggerTimeStart ( ) . getTime ( ) < = searchTime . getTime ( ) | | searchTime . getTime ( ) < = oneTrigger . getTimeFrame ( ) . getTriggerTimeStop ( ) . getTime ( ) + 20000 ) //add 20 seconds because of delay
{
ruleCandidates . add ( oneRule ) ;
break innerloop ; //if the poi is found we don't need to search the other triggers in the same rule
}
}
else if ( oneTrigger . getTimeFrame ( ) . getTriggerTimeStart ( ) . getTime ( ) < = searchTime . getTime ( ) & & searchTime . getTime ( ) < = oneTrigger . getTimeFrame ( ) . getTriggerTimeStop ( ) . getTime ( ) + 20000 ) //add 20 seconds because of delay
{
Miscellaneous . logEvent ( "i" , "RuleSearch" , "Rule found (" + oneRule . getName ( ) + ") with TimeFrame with time " + searchTime . toString ( ) , 3 ) ;
ruleCandidates . add ( oneRule ) ;
break innerloop ; //if the poi is found we don't need to search the other triggers in the same rule
}
}
}
}
Miscellaneous . logEvent ( "i" , "RuleSearch" , String . valueOf ( ruleCandidates . size ( ) ) + " Rule(s) found with TimeFrame with time " + searchTime . toString ( ) , 3 ) ;
return ruleCandidates ;
} * /
/ * public static ArrayList < Rule > findRuleCandidatesByCharging ( boolean triggerParameter )
{
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
for ( Rule oneRule : ruleCollection )
{
innerloop :
for ( Trigger oneTrigger : oneRule . getTriggerSet ( ) )
{
if ( oneTrigger . getTriggerType ( ) = = Trigger . Trigger_Enum . charging )
{
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 < Rule > findRuleCandidatesByUsbHost ( boolean triggerParameter )
{
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
for ( Rule oneRule : ruleCollection )
{
innerloop :
for ( Trigger oneTrigger : oneRule . getTriggerSet ( ) )
{
if ( oneTrigger . getTriggerType ( ) = = Trigger . Trigger_Enum . usb_host_connection )
{
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 < Rule > findRuleCandidatesByAirplaneMode ( boolean triggerParameter )
{
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
for ( Rule oneRule : ruleCollection )
{
innerloop :
for ( Trigger oneTrigger : oneRule . getTriggerSet ( ) )
{
if ( oneTrigger . getTriggerType ( ) = = Trigger . Trigger_Enum . airplaneMode )
{
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 < Rule > findRuleCandidatesByRoaming ( boolean triggerParameter )
{
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
for ( Rule oneRule : ruleCollection )
{
innerloop :
for ( Trigger oneTrigger : oneRule . getTriggerSet ( ) )
{
if ( oneTrigger . getTriggerType ( ) = = Trigger . Trigger_Enum . roaming )
{
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 < Rule > findRuleCandidatesByPhoneCall ( String direction )
{
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
for ( Rule oneRule : ruleCollection )
{
innerloop :
for ( Trigger oneTrigger : oneRule . getTriggerSet ( ) )
{
if ( oneTrigger . getTriggerType ( ) = = Trigger . Trigger_Enum . phoneCall )
{
String [ ] elements = oneTrigger . getTriggerParameter2 ( ) . split ( triggerParameter2Split ) ;
if ( elements [ 1 ] . equals ( Trigger . triggerPhoneCallDirectionAny ) | | elements [ 1 ] . equals ( direction ) )
{
ruleCandidates . add ( oneRule ) ;
break innerloop ; //we don't need to search the other triggers in the same rule
}
}
}
}
return ruleCandidates ;
} * /
public static ArrayList < Rule > findRuleCandidatesByPoi ( PointOfInterest searchPoi )
{
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
@ -810,29 +650,6 @@ public class Rule implements Comparable<Rule>
return ruleCandidates ;
}
/ * public static ArrayList < Rule > findRuleCandidatesByHeadphoneJack ( boolean triggerParameter )
{
ArrayList < Rule > ruleCandidates = new ArrayList < Rule > ( ) ;
for ( Rule oneRule : ruleCollection )
{
innerloop :
for ( Trigger oneTrigger : oneRule . getTriggerSet ( ) )
{
if ( oneTrigger . getTriggerType ( ) = = Trigger . Trigger_Enum . headsetPlugged )
{
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 < Rule > findRuleCandidatesByTriggerProfile ( Profile profile )
{
@ -931,4 +748,4 @@ public class Rule implements Comparable<Rule>
{
return ActivityPermissions . havePermissionsForRule ( this , Miscellaneous . getAnyContext ( ) ) ;
}
}
}