2013-09-12 1 views
0

После того, как карта временной шкалы обновляется Glassware, возможно ли, чтобы на стекле появилась только обновленная карта временной шкалы. В настоящее время я вижу старую карту времени, а также обновленную карту времени на стекле, но, очевидно, w/differnt timestamp.обновление стеклянной шкалы времени, но видны как старые, так и обновленные карты

Подробнее объяснение w/code: - Существует два класса Java, NewUserBootstrapper и NotifyServlet. NewUserBootstrapper заботится о начальной загрузке, которая включает аутентификацию, вставку контактов и вставку подписки. Это код для вставки элемента временной шкалы в качестве части начальной загрузки.

// Send a timeline item 
TimelineItem timelineItem = new TimelineItem(); 
timelineItem.setText("Hello"); 
timelineItem.setNotification(new NotificationConfig().setLevel("DEFAULT")); 
TimelineItem insertedItem = MirrorClient.insertTimelineItem(credential, timelineItem); 

Сейчас в NotifyServlet, после того, как служба уведомления об изменениях в сроках в рамках «принять к сведению» голосовые команды, то NotifyServlet пытается обновить текст одного и того же пункта временной шкалы.

if (notification.getCollection().equals("timeline")) { 
    // Get the impacted timeline item 
    TimelineItem timelineItem = 
    mirrorClient.timeline().get(notification.getItemId()).execute(); 

//Take a note 
if (notification.getUserActions().contains(new UserAction().setType("LAUNCH"))) 
{ 
    final TimelineItem noteItem = mirrorClient.timeline() 
       .get(notification.getItemId()).execute(); 

    final String spokenText = noteItem.getText(); 

    if (spokenText.toUpperCase().contains("DONE") 
        || spokenText.toUpperCase().contains("LIST")) 
    {   
     noteItem.setText("Hello Glassware"); 
      MirrorClient. 
       getMirror(credential).timeline().update(notification.getItemId(), 
       noteItem).execute();   
     } 
} 
} 

Обновление временной шкалы карты произойдет, однако я могу видеть обе карты, одна ж/«Hello» текст, а другой ш текст/«Hello Стаканы», но ж/различной временной метки. Я ожидал увидеть только обновленную карту временной шкалы.

+2

Можете ли вы показать пример кода для того, как вы делаете обновление? Как правило, «старая» карта полностью заменяется обновленной картой. Имея оба значения, вы получили два идентификатора. – Prisoner

+0

Существует два класса Java, NewUserBootstrapper и NotifyServlet. NewUserBootstrapper заботится о загрузке \t, который включает аутентификацию, вставку контактов и вставку подписки. Это код для вставки временной шкалы \t элемент как часть самонастройки. \t \t // Отправить приветственный график TimelineItem timelineItem = new TimelineItem(); timelineItem.setText ("Hello"); timelineItem.setNotification (новый NotificationConfig(). SetLevel ("DEFAULT")); TimelineItem insertItem = MirrorClient.insertTimelineItem (учетные данные, timelineItem); –

+0

Сейчас в NotifyServlet, после того, как служба уведомления об изменениях в сроках в рамках «принять к сведению» голосовые команды, \t NotifyServlet пытается обновить текст одного и того же элемента шкалы времени: - \t \t если (уведомление .getCollection(). equals ("timeline")) { // Получите элемент временной шкалы TimelineItem timelineItem = mirrorClient.timeline(). get (notification.getItemId()).выполнить(); \t \t // Примите к сведению \t если (notification.getUserActions(). Содержит (новый UserAction(). SetType ("LAUNCH"))) \t { –

ответ

0

Я думаю, проблема в том, что вы пытаетесь обновить неверную карту. Хотя вы храните оригинальную карточку как insertedItem, вы публикуете обновление, используя идентификатор notification.

Помните, что каждое действие, сделанное вашей стеклянной посудой или сделанное вами на стекле, создает карту (и, следовательно, идентификатор). Таким образом, ваше голосовое действие сгенерировало карту, которая хранится на вашей временной шкале. Обычно можно отредактировать эту карту (более красиво отформатировать ее) или удалить карточку из Glassware, как часть указания, что вы ее получили, и подействовали на нее.

Так что же происходит в том, что вы создаете одну карту (insertedItem) из вашей посуде, вы выдачи голосовых команд (notification, который затем считывается в noteItem), который генерирует еще одну карту, а затем обновление второй карта. Похоже, вы действительно хотите обновить первую карту, так что вы должны обновлять insertedItem.

+0

Я думаю, ваш i/ps действительно имеет смысл. Я попробую это и дам вам знать. –

+0

Мне нужно будет подождать до начала следующей недели, чтобы попробовать обновить элементы хронологии. –