private function buildCalendarDayView(array $statuses, PhabricatorSavedQuery $query, array $handles)
 {
     $viewer = $this->requireViewer();
     list($start_year, $start_month, $start_day) = $this->getDisplayYearAndMonthAndDay($this->getQueryDateFrom($query)->getEpoch(), $this->getQueryDateTo($query)->getEpoch(), $query->getParameter('display'));
     $day_view = id(new PHUICalendarDayView($this->getQueryDateFrom($query)->getEpoch(), $this->getQueryDateTo($query)->getEpoch(), $start_year, $start_month, $start_day))->setQuery($query->getQueryKey());
     $day_view->setUser($viewer);
     $phids = mpull($statuses, 'getUserPHID');
     foreach ($statuses as $status) {
         if ($status->getIsCancelled()) {
             continue;
         }
         $viewer_is_invited = $status->getIsUserInvited($viewer->getPHID());
         $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $status, PhabricatorPolicyCapability::CAN_EDIT);
         $event = new AphrontCalendarEventView();
         $event->setCanEdit($can_edit);
         $event->setEventID($status->getID());
         $event->setEpochRange($status->getDateFrom(), $status->getDateTo());
         $event->setIsAllDay($status->getIsAllDay());
         $event->setIcon($status->getIcon());
         $event->setViewerIsInvited($viewer_is_invited);
         $event->setName($status->getName());
         $event->setURI($status->getURI());
         $day_view->addEvent($event);
     }
     $day_view->setBrowseURI($this->getURI('query/' . $query->getQueryKey() . '/'));
     $result = new PhabricatorApplicationSearchResultView();
     $result->setContent($day_view);
     return $result;
 }