Index: generated/googleapis/lib/fitness/v1.dart |
diff --git a/generated/googleapis/lib/fitness/v1.dart b/generated/googleapis/lib/fitness/v1.dart |
index 4e406fc9f35e7b53bf6b4c7538749215ca0cc3fa..8ecb3d5d0b6e02c41c8991559cf6c10688417115 100644 |
--- a/generated/googleapis/lib/fitness/v1.dart |
+++ b/generated/googleapis/lib/fitness/v1.dart |
@@ -599,11 +599,16 @@ class UsersDatasetResourceApi { |
_requester = client; |
/** |
+ * Aggregates data of a certain type or stream into buckets divided by a given |
+ * type of boundary. Multiple data sets of multiple types and from multiple |
+ * sources can be aggreated into exactly one bucket type per request. |
+ * |
* [request] - The metadata request object. |
* |
* Request parameters: |
* |
- * [userId] - null |
+ * [userId] - Aggregate data for the person identified. Use me to indicate the |
+ * authenticated user. Only me is supported at this time. |
* |
* Completes with a [AggregateResponse]. |
* |
@@ -827,13 +832,21 @@ class UsersSessionsResourceApi { |
class AggregateBucket { |
- /** available for Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SEGMENT */ |
+ /** Available for Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SEGMENT */ |
core.int activity; |
- /** There will be one dataset per datatype/datasource */ |
+ /** There will be one dataset per AggregateBy in the request. */ |
core.List<Dataset> dataset; |
+ /** |
+ * The end time for the aggregated data, in milliseconds since epoch, |
+ * inclusive. |
+ */ |
core.String endTimeMillis; |
- /** available for Bucket.Type.SESSION */ |
+ /** Available for Bucket.Type.SESSION */ |
Session session; |
+ /** |
+ * The start time for the aggregated data, in milliseconds since epoch, |
+ * inclusive. |
+ */ |
core.String startTimeMillis; |
/** |
* The type of a bucket signifies how the data aggregation is performed in the |
@@ -894,12 +907,21 @@ class AggregateBucket { |
} |
} |
+/** The specification of which data to aggregate. */ |
class AggregateBy { |
+ /** |
+ * A data source ID to aggregate. Mutually exclusive of dataTypeName. Only |
+ * data from the specified data source ID will be included in the aggregation. |
+ * The dataset in the response will have the same data source ID. |
+ */ |
core.String dataSourceId; |
- /** by dataype or by datasource */ |
+ /** |
+ * The data type to aggregate. All data sources providing this data type will |
+ * contribute data to the aggregation. The response will contain a single |
+ * dataset for this data type name. The dataset will have a data source ID of |
+ * derived:com.google.:com.google.android.gms:aggregated |
+ */ |
core.String dataTypeName; |
- core.String outputDataSourceId; |
- core.String outputDataTypeName; |
AggregateBy(); |
@@ -910,12 +932,6 @@ class AggregateBy { |
if (_json.containsKey("dataTypeName")) { |
dataTypeName = _json["dataTypeName"]; |
} |
- if (_json.containsKey("outputDataSourceId")) { |
- outputDataSourceId = _json["outputDataSourceId"]; |
- } |
- if (_json.containsKey("outputDataTypeName")) { |
- outputDataTypeName = _json["outputDataTypeName"]; |
- } |
} |
core.Map toJson() { |
@@ -926,25 +942,54 @@ class AggregateBy { |
if (dataTypeName != null) { |
_json["dataTypeName"] = dataTypeName; |
} |
- if (outputDataSourceId != null) { |
- _json["outputDataSourceId"] = outputDataSourceId; |
- } |
- if (outputDataTypeName != null) { |
- _json["outputDataTypeName"] = outputDataTypeName; |
- } |
return _json; |
} |
} |
class AggregateRequest { |
+ /** |
+ * The specification of data to be aggregated. At least one aggregateBy spec |
+ * must be provided. All data that is specified will be aggregated using the |
+ * same bucketing criteria. There will be one dataset in the response for |
+ * every aggregateBy spec. |
+ */ |
core.List<AggregateBy> aggregateBy; |
+ /** |
+ * Specifies that data be aggregated each activity segment recored for a user. |
+ * Similar to bucketByActivitySegment, but bucketing is done for each activity |
+ * segment rather than all segments of the same type. Mutually exclusive of |
+ * other bucketing specifications. |
+ */ |
BucketByActivity bucketByActivitySegment; |
+ /** |
+ * Specifies that data be aggregated by the type of activity being performed |
+ * when the data was recorded. All data that was recorded during a certain |
+ * activity type (for the given time range) will be aggregated into the same |
+ * bucket. Data that was recorded while the user was not active will not be |
+ * included in the response. Mutually exclusive of other bucketing |
+ * specifications. |
+ */ |
BucketByActivity bucketByActivityType; |
+ /** |
+ * Specifies that data be aggregated by user sessions. Data that does not fall |
+ * within the time range of a session will not be included in the response. |
+ * Mutually exclusive of other bucketing specifications. |
+ */ |
BucketBySession bucketBySession; |
- /** apparently oneof is not supported by reduced_nano_proto */ |
+ /** |
+ * Specifies that data be aggregated by a single time interval. Mutually |
+ * exclusive of other bucketing specifications. |
+ */ |
BucketByTime bucketByTime; |
+ /** |
+ * The end of a window of time. Data that intersects with this time window |
+ * will be aggregated. The time is in milliseconds since epoch, inclusive. |
+ */ |
core.String endTimeMillis; |
- /** required time range */ |
+ /** |
+ * The start of a window of time. Data that intersects with this time window |
+ * will be aggregated. The time is in milliseconds since epoch, inclusive. |
+ */ |
core.String startTimeMillis; |
AggregateRequest(); |
@@ -1001,6 +1046,7 @@ class AggregateRequest { |
} |
class AggregateResponse { |
+ /** A list of buckets containing the aggregated data. */ |
core.List<AggregateBucket> bucket; |
AggregateResponse(); |
@@ -1082,9 +1128,16 @@ class Application { |
} |
class BucketByActivity { |
- /** default activity stream will be used if not specified */ |
+ /** |
+ * The default activity stream will be used if a specific activityDataSourceId |
+ * is not specified. |
+ */ |
core.String activityDataSourceId; |
- /** Only activity segments of duration longer than this is used */ |
+ /** |
+ * Specifies that only activity segments of duration longer than |
+ * minDurationMillis are considered and used as a container for aggregated |
+ * data. |
+ */ |
core.String minDurationMillis; |
BucketByActivity(); |
@@ -1111,7 +1164,10 @@ class BucketByActivity { |
} |
class BucketBySession { |
- /** Only sessions of duration longer than this is used */ |
+ /** |
+ * Specifies that only sessions of duration longer than minDurationMillis are |
+ * considered and used as a container for aggregated data. |
+ */ |
core.String minDurationMillis; |
BucketBySession(); |
@@ -1132,6 +1188,11 @@ class BucketBySession { |
} |
class BucketByTime { |
+ /** |
+ * Specifies that result buckets aggregate data by exactly durationMillis time |
+ * frames. Time frames that contain no data will be included in the response |
+ * with an empty dataset. |
+ */ |
core.String durationMillis; |
BucketByTime(); |
@@ -1725,6 +1786,32 @@ class ListSessionsResponse { |
} |
/** |
+ * Holder object for the value of an entry in a map field of a data point. |
+ * |
+ * A map value supports a subset of the formats that the regular Value supports. |
+ */ |
+class MapValue { |
+ /** Floating point value. */ |
+ core.double fpVal; |
+ |
+ MapValue(); |
+ |
+ MapValue.fromJson(core.Map _json) { |
+ if (_json.containsKey("fpVal")) { |
+ fpVal = _json["fpVal"]; |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (fpVal != null) { |
+ _json["fpVal"] = fpVal; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
* Sessions contain metadata, such as a user-friendly name and time interval |
* information. |
*/ |
@@ -1829,10 +1916,23 @@ class Session { |
* integer or a floating point value. |
*/ |
class Value { |
- /** Floating point value. When this is set, intVal must not be set. */ |
+ /** Floating point value. When this is set, other values must not be set. */ |
core.double fpVal; |
- /** Integer value. When this is set, fpVal must not be set. */ |
+ /** Integer value. When this is set, other values must not be set. */ |
core.int intVal; |
+ /** |
+ * Map value. The valid key space and units for the corresponding value of |
+ * each entry should be documented as part of the data type definition. Keys |
+ * should be kept small whenever possible. Data streams with large keys and |
+ * high data frequency may be down sampled. |
+ */ |
+ core.List<ValueMapValEntry> mapVal; |
+ /** |
+ * String value. When this is set, other values must not be set. Strings |
+ * should be kept small whenever possible. Data streams with large string |
+ * values and high data frequency may be down sampled. |
+ */ |
+ core.String stringVal; |
Value(); |
@@ -1843,6 +1943,12 @@ class Value { |
if (_json.containsKey("intVal")) { |
intVal = _json["intVal"]; |
} |
+ if (_json.containsKey("mapVal")) { |
+ mapVal = _json["mapVal"].map((value) => new ValueMapValEntry.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("stringVal")) { |
+ stringVal = _json["stringVal"]; |
+ } |
} |
core.Map toJson() { |
@@ -1853,6 +1959,39 @@ class Value { |
if (intVal != null) { |
_json["intVal"] = intVal; |
} |
+ if (mapVal != null) { |
+ _json["mapVal"] = mapVal.map((value) => (value).toJson()).toList(); |
+ } |
+ if (stringVal != null) { |
+ _json["stringVal"] = stringVal; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+class ValueMapValEntry { |
+ core.String key; |
+ MapValue value; |
+ |
+ ValueMapValEntry(); |
+ |
+ ValueMapValEntry.fromJson(core.Map _json) { |
+ if (_json.containsKey("key")) { |
+ key = _json["key"]; |
+ } |
+ if (_json.containsKey("value")) { |
+ value = new MapValue.fromJson(_json["value"]); |
+ } |
+ } |
+ |
+ core.Map toJson() { |
+ var _json = new core.Map(); |
+ if (key != null) { |
+ _json["key"] = key; |
+ } |
+ if (value != null) { |
+ _json["value"] = (value).toJson(); |
+ } |
return _json; |
} |
} |