Open azhuchkov opened 3 years ago
If we are in a nested state method canAccept() returns false for transitions available from parent state.
canAccept()
false
Workaround (subclass override):
@Override public boolean canAccept(Object event) { ImmutableState<?, ?, ?, ?> testRawState = getCurrentRawState(); if (testRawState == null) { // assuming auto_start enabled testRawState = getInitialRawState(); } return canAccept(testRawState, event); } private boolean canAccept(ImmutableState<?, ?, ?, ?> state, Object event) { final ImmutableState<?, ?, ?, ?> parentState = state.getParentState(); return state.getAcceptableEvents().contains(event) || (parentState != null && canAccept(parentState, event)); }
If we are in a nested state method
canAccept()
returnsfalse
for transitions available from parent state.Workaround (subclass override):