Exemplo n.º 1
0
 private SpannedText getTimeDetails() {
   if (task.getCompleteDate().isPresent()) {
     if (canShowLevel()) {
       return new SpannedText(DateMarshaller.dateTimeTo2Strings(task.getCompleteDate().get()));
     } else {
       return new SpannedText(DateMarshaller.timeToString(task.getCompleteDate().get()));
     }
   }
   if (new TemporalPredicates().notStarted().apply(task)) {
     return timeConstraintsUtils.addFutureStartWarning(task);
   }
   SpannedText startedToday = new SpannedText();
   if (new TemporalPredicates().startedToday().apply(task)) {
     startedToday =
         new SpannedText(
             resources.getString(R.string.started_today) + "\n",
             new ForegroundColorSpan(TimeConstraintsUtils.STARTED_TODAY_FG_COLOR),
             new BackgroundColorSpan(TimeConstraintsUtils.STARTED_TODAY_BG_COLOR));
   }
   SpannedText dueWarning = timeConstraintsUtils.addDueDateWarning(task);
   if (!dueWarning.isEmpty()) {
     return startedToday.join(dueWarning);
   }
   if (isEditMode()) {
     return new SpannedText(resources.getString(R.string.anytime));
   } else {
     if (startedToday.isEmpty()) {
       return new SpannedText();
     }
     return startedToday;
   }
 }
Exemplo n.º 2
0
    private void configureText(Task item) {
      SpannedText text = getTitle(item).join("\n");

      SpannedText extra = getDetails();
      if (!extra.isEmpty()) {
        text = text.join(extra);
      }
      text.apply(this.textTitle);
    }
Exemplo n.º 3
0
 private SpannedText getTitle(Task item) {
   SpannedText text = new SpannedText(item.getText(), new StyleSpan(Typeface.BOLD));
   if (task.getStatus() == TaskStatus.Cancelled) {
     text = text.style(new StrikethroughSpan());
   }
   if (isSelected()) {
     text = text.style(new UnderlineSpan());
   }
   return text;
 }
Exemplo n.º 4
0
 private SpannedText getDetails() {
   SpannedText extra = new SpannedText("");
   if (canShowMasterProject()) {
     extra =
         extra
             .space()
             .join(
                 resources.getString(R.string.to) + " " + task.getMasterTask().get().getText(),
                 new StyleSpan(Typeface.ITALIC));
   }
   if (canShowContext()) {
     extra =
         extra
             .space()
             .join(
                 task.getContext().getName(),
                 new ForegroundColorSpan(CONTEXT_FG_COLOR),
                 new BackgroundColorSpan(CONTEXT_BG_COLOR));
   }
   if (canShowSubActions()) {
     List<Task> subTasks =
         from(task.getSubTasks()).filter(TaskListService.ACTIVE_PREDICATE).toImmutableList();
     if (subTasks.size() == 1) {
       if (!extra.isEmpty()) {
         extra = extra.join("\n");
       }
       extra =
           extra
               .space()
               .join(
                   resources.getString(R.string.blocked_by)
                       + " "
                       + getOnlyElement(subTasks).getText(),
                   new StyleSpan(Typeface.ITALIC));
     } else if (subTasks.size() > 1) {
       if (!extra.isEmpty()) {
         extra = extra.join("\n");
       }
       extra =
           extra
               .space()
               .join(
                   resources.getQuantityString(
                       R.plurals.blocked_by_n_tasks, subTasks.size(), subTasks.size()),
                   new StyleSpan(Typeface.ITALIC));
     }
   }
   return extra;
 }
Exemplo n.º 5
0
 private void configureTimeText(Task item) {
   SpannedText text = getTimeDetails();
   text.apply(this.textTime);
 }