@ MainThread private void handleTaskFinished ( Task task ) { if ( task . method . type != EventMethod . Type . SUBSCRIBE ) { // We are not interested in finished callbacks, only finished subscriber calls return ; } if ( task . method . isSingleThread ) { Utils . log ( task , "Single-thread method is no longer in use" ) ; task . method . isInUse = false ; } Event event = task . event ; if ( ! activeEvents . contains ( event ) ) { Utils . logE ( event . getKey ( ) , "Cannot finish already finished event" ) ; return ; } ( ( EventBase ) event ) . handlersCount -- ; if ( ( ( EventBase ) event ) . handlersCount == 0 ) { // No more running handlers activeEvents . remove ( event ) ; scheduleStatusUpdates ( event , EventStatus . FINISHED ) ; executeTasks ( false ) ; } }
Handles finished event