summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorChirag Shah <chirags@google.com>2015-06-15 13:09:38 -0700
committerChirag Shah <chirags@google.com>2015-06-15 17:48:41 -0700
commit61f794a70ffb05a343ef8fda91f3fd7ca5ac59f7 (patch)
tree2c7074a62a724a9e981a19179787e57fe77c9185 /core/java/android
parent2d4dc8db64d0f75e530451acb2c0bea97b9264ff (diff)
Allow 3P apps to provide structured data within AssistContent.
For providing structured metadata to the assistant, we've decided to standardize on JSON-LD (met with Paige/Ulas/Fabian), and decided the data to be specified via: AssistContent.setStructuredData(String structuredDataJson) This method can be documented for 3P developers as allowing developers to provide metadata to the assistant with the JSON-LD standard. This would be centered more about content displayed on the screen, rather than actions based, so we added it to the AssistContent class Updated doc: go/setStructuredData Change-Id: I816f69fd6896df822e30d6c71d840bd01f47e544
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/AssistContent.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/core/java/android/app/AssistContent.java b/core/java/android/app/AssistContent.java
index 0df9ce5b1dd9..ad2ba39761da 100644
--- a/core/java/android/app/AssistContent.java
+++ b/core/java/android/app/AssistContent.java
@@ -33,6 +33,7 @@ import android.os.Parcelable;
public class AssistContent {
private boolean mIsAppProvidedIntent = false;
private Intent mIntent;
+ private String mStructuredData;
private ClipData mClipData;
private Uri mUri;
private final Bundle mExtras;
@@ -125,6 +126,22 @@ public class AssistContent {
}
/**
+ * Sets optional structured data regarding the content being viewed. The provided data
+ * must be a string represented with <a href="http://json-ld.org/">JSON-LD</a> using the
+ * <a href="http://schema.org/">schema.org</a> vocabulary.
+ */
+ public void setStructuredData(String structuredData) {
+ mStructuredData = structuredData;
+ }
+
+ /**
+ * Returns the current {@link #setStructuredData}.
+ */
+ public String getStructuredData() {
+ return mStructuredData;
+ }
+
+ /**
* Set a web URI associated with the current data being shown to the user.
* This URI could be opened in a web browser, or in the app as an
* {@link Intent#ACTION_VIEW} Intent, to show the same data that is currently
@@ -163,6 +180,9 @@ public class AssistContent {
if (in.readInt() != 0) {
mUri = Uri.CREATOR.createFromParcel(in);
}
+ if (in.readInt() != 0) {
+ mStructuredData = in.readString();
+ }
mIsAppProvidedIntent = in.readInt() == 1;
mExtras = in.readBundle();
}
@@ -187,6 +207,12 @@ public class AssistContent {
} else {
dest.writeInt(0);
}
+ if (mStructuredData != null) {
+ dest.writeInt(1);
+ dest.writeString(mStructuredData);
+ } else {
+ dest.writeInt(0);
+ }
dest.writeInt(mIsAppProvidedIntent ? 1 : 0);
dest.writeBundle(mExtras);
}