public interface

# ConfigApi

com.google.android.gms.fitness.ConfigApi

## Class Overview

API for accessing custom data types and settings in Google Fit.

Custom `data type` definitions can be added and then retrieved using `createCustomDataType(GoogleApiClient, DataTypeCreateRequest)` and `readDataType(GoogleApiClient, String)`.

`disableFit(GoogleApiClient)` can be used to disconnect your app from Google Fit.

The Config API should be accessed via the `Fitness` entry point. Example:

         GoogleApiClient client = new GoogleApiClient.Builder(context)
             .addApi(Fitness.CONFIG_API)
             ...
             .build();
         client.connect();

         PendingResult<DataTypeResult> pendingResult = Fitness.ConfigApi.readDataType(
             client, "com.example.my_custom_data_type");

         DataTypeResult dataTypeResult = pendingResult.await();
         DataType dataType = dataTypeResult.getDataType();

## Summary

Public Methods
abstract PendingResult<DataTypeResult> | createCustomDataType(GoogleApiClient client, DataTypeCreateRequest request) Defines a new data type which is added to the Google Fit platform on behalf of the current application.
abstract PendingResult<Status> | disableFit(GoogleApiClient client) Disables Google Fit for an app.
abstract PendingResult<DataTypeResult> | readDataType(GoogleApiClient client, String dataTypeName) Returns a data type with the specified `dataTypeName`.

## Public Methods

#### public abstract PendingResult<DataTypeResult> createCustomDataType (GoogleApiClient client, DataTypeCreateRequest request)

Defines a new data type which is added to the Google Fit platform on behalf of the current application. Useful for adding a private custom data type for recording app-specific data. Custom data created by one app will not be visible to other apps.

Example:

         PendingResult pendingResult = ConfigApi.createCustomDataType(client
             new DataTypeCreateRequest.Builder()
                 .setName(DATA_TYPE_NAME)
                 .addField(MY_FIELD1)
                 .addField(MY_FIELD2)
                 .build());
         DataTypeResult result = pendingResult.await();

##### Parameters

client | an existing GoogleApiClient. Must be connected at the time of this call.
request | the new data type name and fields that need to be added

##### Returns

- a pending result containing the status of the request. If an existing DataType has the same name but different fields, the operation will fail with `CONFLICTING_DATA_TYPE`. If application package name does not match `DataType`'s name, the operation will fail with `INCONSISTENT_DATA_TYPE` status code.

#### public abstract PendingResult<Status> disableFit (GoogleApiClient client)

Disables Google Fit for an app. Can be used to revoke all granted OAuth access permissions from an app and consequently remove all existing subscriptions and registrations of the app.

##### Parameters

client | an existing GoogleApiClient. Must be connected at the time of this call.

##### Returns

- result containing the status of the request

#### public abstract PendingResult<DataTypeResult> readDataType (GoogleApiClient client, String dataTypeName)

Returns a data type with the specified `dataTypeName`. Useful to retrieve shareable data types added by other apps or custom data types added by your app. Custom data types created by other apps will not be returned.

##### Parameters

client | an existing GoogleApiClient. It does not need to be connected at the time of this call, but the read result will be delayed until the connection is complete.
dataTypeName | name of the data type we want to read

##### Returns

- result containing the status of the request