11package devin .task ;
22
33import java .io .IOException ;
4- import java .time .Duration ;
54import java .time .LocalDateTime ;
65import java .time .format .DateTimeFormatter ;
76import java .util .ArrayList ;
8- import java .util .Collections ;
97import java .util .Comparator ;
108import java .util .regex .Matcher ;
119import java .util .regex .Pattern ;
@@ -42,7 +40,7 @@ public TaskList(ArrayList<Task> tasks) {
4240 public void addTask (Devin .Type type , String input , Storage storage ) throws DevinException , IOException {
4341 Task task ;
4442 String [] temp = Parser .parseInput (type , input );
45- assert temp .length > 0 : "There should be at least one task." ;
43+ assert temp .length > 0 : "There should be at least one task." ;
4644 switch (type ) {
4745 case todo :
4846 if (input .trim ().isEmpty ()) {
@@ -73,7 +71,7 @@ public String listTasks() {
7371 for (int i = 0 ; i < tasks .size (); i ++) {
7472 out .append (i + 1 ).append (". " ).append (tasks .get (i ).toString ()).append ("\n " );
7573 }
76- assert !out .isEmpty () : "There is nothing in out." ;
74+ assert !out .isEmpty () : "There is nothing in out." ;
7775 return out .toString ();
7876 }
7977
@@ -136,22 +134,18 @@ public ArrayList<Task> getTasks() {
136134
137135 /**
138136 * Find all the free time slot that the user can schedule.
139- *
137+ *
140138 * @return a message of all free time slot
141139 */
142140 public String getTimedTasks () {
143141 DateTimeFormatter formatter = DateTimeFormatter .ofPattern ("d/M/yyyy HHmm" );
144-
145142 LocalDateTime now = LocalDateTime .now ();
146-
147143 ArrayList <Task > timedTasks = tasks .stream ()
148144 .filter (task -> task .getStartTime () != null && task .getEndTime () != null )
149145 .sorted (Comparator .comparing (Task ::getStartTime ))
150146 .collect (Collectors .toCollection (ArrayList ::new ));
151-
152147 StringBuilder freeSlots = new StringBuilder ();
153148 LocalDateTime previousEndTime = now ;
154-
155149 for (Task task : timedTasks ) {
156150 if (previousEndTime .isBefore (task .getStartTime ())) {
157151 freeSlots .append ("Free slot from " )
@@ -162,12 +156,10 @@ public String getTimedTasks() {
162156 }
163157 previousEndTime = task .getEndTime ();
164158 }
165-
166159 freeSlots .append ("Free slot from " )
167160 .append (previousEndTime .format (formatter ))
168161 .append (" to forever" )
169- .append ("\n " );
170-
162+ .append ("\n " );
171163 return freeSlots .toString ().trim ();
172164 }
173165}
0 commit comments