+ self._conversationsStateMachine = state_machine.UpdateStateMachine([self.conversations])
+ self._conversationsStateMachine.set_state_strategy(
+ state_machine.StateMachine.STATE_DND,
+ state_machine.NopStateStrategy()
+ )
+ self._conversationsStateMachine.set_state_strategy(
+ state_machine.StateMachine.STATE_IDLE,
+ state_machine.ConstantStateStrategy(state_machine.to_milliseconds(minutes=30))
+ )
+ self._conversationsStateMachine.set_state_strategy(
+ state_machine.StateMachine.STATE_ACTIVE,
+ state_machine.GeometricStateStrategy(
+ state_machine.to_milliseconds(seconds=10),
+ state_machine.to_milliseconds(seconds=1),
+ state_machine.to_milliseconds(minutes=10),
+ )
+ )
+
+ self._masterStateMachine = state_machine.MasterStateMachine()
+ self._masterStateMachine.append_machine(self._addressbookStateMachine)
+ self._masterStateMachine.append_machine(self._conversationsStateMachine)