summaryrefslogtreecommitdiff
path: root/src/main/java/com/p4square/grow/model/Chapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/p4square/grow/model/Chapter.java')
-rw-r--r--src/main/java/com/p4square/grow/model/Chapter.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/com/p4square/grow/model/Chapter.java b/src/main/java/com/p4square/grow/model/Chapter.java
index 3a08e4c..ac27de6 100644
--- a/src/main/java/com/p4square/grow/model/Chapter.java
+++ b/src/main/java/com/p4square/grow/model/Chapter.java
@@ -4,6 +4,7 @@
package com.p4square.grow.model;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -98,6 +99,26 @@ public class Chapter implements Cloneable {
}
/**
+ * @return the completion date for the chapter, or null if it has not been completed.
+ */
+ @JsonIgnore
+ public Date getCompletionDate() {
+ Date latest = new Date(0);
+ for (VideoRecord video : mVideos.values()) {
+ if (video.getRequired() && !video.getComplete()) {
+ // Hey, this chapter isn't complete!
+ return null;
+ }
+
+ Date completionDate = video.getCompletionDate();
+ if (completionDate.after(latest)) {
+ latest = completionDate;
+ }
+ }
+ return latest;
+ }
+
+ /**
* Deeply clone a chapter.
*
* @return a new Chapter object identical but independent of this one.