private void fillStruct(ContainerDialog cnext, int level) { WidgetDialog wnext = cnext.getWhead(); while (wnext != null) { for (EventLogged el : wnext.getE()) { ev++; struct[ev][level] = ev; if (el.getNext() != null) { fillStruct(el.getNext(), level + 1); } } wnext = wnext.getNext(); } }
public boolean replay(ContainerDialog cnext, HashSet<Integer> noReplay) { if (first) { sleep(5000); first = false; } // New Container: sleep to make sure the hierarchy is refreshed sleep(windowTimeout); WidgetDialog wnext = cnext.getWhead(); while (wnext != null) { if (!noReplay.contains(wnext.getEventId())) { for (EventLogged e_i : wnext.getE()) { if (!noReplay.contains(e_i.getEventId())) { sleep(eventTimeout); currentEventId = e_i.getEventId(); success = replayevent(e_i.getEv()); // replay_ev(e_i.getEv()); if (success || success2) return true; if (e_i.getNext() != null) { success = replay(e_i.getNext(), noReplay); if (success || success2) return true; } } } } wnext = wnext.getNext(); } sleep(3000); // sometimes the crash takes a while if (success || success2) return true; return false; }