import android.util.SparseBooleanArray; //导入方法依赖的package包/类
private void init() {
ScheduleHelper scheduleHelper = new ScheduleHelper(mContext);
//Fetch all sessions and blocks
List allScheduleItems = scheduleHelper.getScheduleData(Long.MIN_VALUE, Long.MAX_VALUE);
String displayTimeZone = SettingsUtils.getDisplayTimeZone(mContext).getID();
mSections = new ArrayList();
long previousTime = -1;
long time;
mPMap = new SparseIntArray();
mHeaderPositionMap = new SparseBooleanArray();
int offset = 0;
int globalPosition = 0;
int position = 0;
mScheduleItems = new ArrayList();
for (ScheduleItem item : allScheduleItems) {
if (item.endTime <&#61; UIUtils.getCurrentTime(mContext)) {
continue;
}
mScheduleItems.add(item);
time &#61; item.startTime;
if (!UIUtils.isSameDayDisplay(previousTime, time, mContext)) {
mBuffer.setLength(0);
mSections.add(new SimpleSectionedListAdapter.Section(position,
DateUtils.formatDateRange(
mContext, mFormatter,
time, time,
DateUtils.FORMAT_ABBREV_MONTH | DateUtils.FORMAT_SHOW_DATE,
displayTimeZone
).toString()
));
&#43;&#43;offset;
mHeaderPositionMap.put(globalPosition, true);
mPMap.put(globalPosition, offset);
&#43;&#43;globalPosition;
}
mHeaderPositionMap.put(globalPosition, false);
mPMap.put(globalPosition, offset);
&#43;&#43;globalPosition;
&#43;&#43;position;
previousTime &#61; time;
}
}