+\r
+ // 予約マーク\r
+ marked = _getReservedMarkCharUra(mark, data) || marked;\r
+ break;\r
+ }\r
+\r
+ }\r
+ }\r
+\r
+ // ピックアップマーク\r
+ if ( env.getShowRsvPickup() ) {\r
+ marked = _getReservedMarkCharPickup(mark, data) || marked;\r
+ }\r
+\r
+ return(marked ? mark : null);\r
+ }\r
+\r
+ /**\r
+ * その番組の近傍の予約情報のリストを作成する\r
+ */\r
+ private ArrayList<NeighborReserveList> findOverlapReserves(HDDRecorderList s_recorders, ListedItem data) {\r
+\r
+ // 近傍予約のリスト\r
+ ArrayList<NeighborReserveList> n_reserves = new ArrayList<NeighborReserveList>();\r
+\r
+ // 基準日時\r
+ String critDateTime = CommonUtils.getCritDateTime(env.getDisplayPassedReserve());\r
+\r
+ // 全予約をなめて、一番近い予約を探さなければならない\r
+ for ( HDDRecorder rec : s_recorders ) {\r
+ for ( ReserveList res : rec.getReserves() ) {\r
+ if ( env.getDisplayOnlyExecOnEntry() && ! res.getExec() ) {\r
+ // 実行可能な予約しかいらない場合\r
+ continue;\r
+ }\r
+\r
+ if ( res.getCh_name() == null ) {\r
+ // TODO 警告したい!\r
+ continue;\r
+ }\r
+\r
+ // 開始終了日時リストを生成する\r
+ ArrayList<String> starts = new ArrayList<String>();\r
+ ArrayList<String> ends = new ArrayList<String>();\r
+ CommonUtils.getStartEndList(starts, ends, res);\r
+\r
+ for ( int j=0; j<starts.size(); j++ ) {\r
+ if ( critDateTime.compareTo(ends.get(j)) > 0 ) {\r
+ // 終了済みは対象外\r