Glassware によってタイムライン カードが更新された後、更新されたタイムライン カードのみを Glass に表示することは可能ですか。現在、Glass で古いタイムライン カードと更新されたタイムライン カードを確認できますが、タイムスタンプが明らかに異なります。
コード付きの詳細な説明は次のとおりです。- NewUserBootstrapper と NotifyServlet の 2 つの Java クラスがあります。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();
}
}
}
タイムライン カードの更新は行われますが、両方のカードが表示されます。1 つは「Hello」テキスト、もう 1 つは「Hello Glassware」テキストですがタイムスタンプが異なります。更新されたタイムライン カードだけが表示されることを期待していました。