private void prepareMidRoll() { final ArrayList<ISlot> mid_slots = adContext.getSlotsByTimePositionClass(adConstants.TIME_POSITION_CLASS_MIDROLL()); Iterator<ISlot> iter = mid_slots.iterator(); while (iter.hasNext()) { ISlot slot = iter.next(); double tp = slot.getTimePosition(); Log.i(CLASSTAG, "at " + tp + " has midroll"); this.midrolls.put(tp, slot.getCustomId()); this.midrollkeys.add(tp); } // get all overlay slots final ArrayList<ISlot> overlay_slots = adContext.getSlotsByTimePositionClass(adConstants.TIME_POSITION_CLASS_OVERLAY()); // TODO: what if the overlay has the same time position with a mid-roll? iter = overlay_slots.iterator(); while (iter.hasNext()) { ISlot slot = iter.next(); double tp = slot.getTimePosition(); Log.i(CLASSTAG, "at " + tp + " has overlay"); this.midrolls.put(tp, slot.getCustomId()); this.midrollkeys.add(tp); } Collections.sort(this.midrollkeys); }