This class is deprecated.
      For apps targeting Wear OS 3, use Health Services instead.
      Otherwise for access to live sensor and location data use SensorManager
      and FusedLocationProviderClient,
      respectively.
Client which exposes different sources of fitness data in local and connected devices, and delivers live events to listeners.
The Client exposes data
      sources from hardware sensors in the local device and in companion devices. It
      also exposes data sources from applications. Data sources can be queried via 
      findDataSources(DataSourcesRequest)
The Client supports adding and removing listeners to live data streams from any available
      data source. It also allows for listening on a DataType,
      in which case the best available data source (or a combination of them) is used.
The Sensors Client should be used whenever live updates from a sensor stream need to be
      pushed to the application (for instance, to update a UI). The History
      Client can be used to query historical data in a pull-based model for scenarios
      where latency isn't critical.
The Sensors Client should be accessed from the Fitness entry
      point. Example:
    GoogleSignInOptionsExtension fitnessOptions =
        FitnessOptions.builder()
            .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
            .build();
    GoogleSignInAccount googleSignInAccount =
        GoogleSignIn.getAccountForExtension(this, fitnessOptions);
    Task<Void> response = Fitness.getSensorsClient(this, googleSignInAccount)
        .add(
            new SensorRequest.Builder()
                .setDataType(DataType.TYPE_STEP_COUNT_DELTA)
                .setSamplingRate(1, TimeUnit.MINUTES)  // sample once per minute
                .build(),
            myStepCountListener);
 Recording and
History
Clients and should be used instead.
    Public Method Summary
| Task<Void> | 
                  
                  add(SensorRequest
                  request, 
                  OnDataPointListener listener)
                   
                    Adds a data point  
                    listenerto a sensor data source. | 
| Task<Void> | 
                  
                  add(SensorRequest
                  request, PendingIntent
                  intent)
                   
                    Adds a  PendingIntentlistener to a sensor data source. | 
| Task<List<DataSource>> | 
                  
                  findDataSources(DataSourcesRequest
                  request)
                   
                    Finds all available data sources, on the device and remotely.
                   | 
| Task<Void> | |
| Task<Boolean> | 
Inherited Method Summary
Public Methods
public Task<Void> add (SensorRequest request, OnDataPointListener listener)
Adds a data point listener
            to a sensor data source. This method can be called to listen on live updates from a
            particular data source, or data type (in which case a default data source is used).
Once the add request succeeds, new data points in the data stream are delivered to
            the specified listener. Historic data is not delivered, but can be queried via the
            History
            Client. When the application is closing, or once live data is no longer
            needed, the listener should be removed. If necessary, the Recording
            Client can be used to persist data for later querying when the application
            is re-opened in a battery-efficient manner.
This method can be called several times with the same listener to change the desired sampling rate.
Parameters
| request | Request specifying the desired data source or data type, as well as the desired parameters for the add request | 
|---|---|
| listener | The listener that will be used to respond to events. The listener object should be saved, since it can be used to remove the registration when live events are no longer needed | 
Throws
| SecurityException | If a required permission is missing for the requested DataTypeorDataSource. | 
|---|
public Task<Void> add (SensorRequest request, PendingIntent intent)
Adds a PendingIntent
            listener to a sensor data source. This method can be called to listen on live updates
            from a particular data source, or a data type (in which case a default data source is
            used).
Once the add request succeeds, new data points in the data stream are delivered to
            the specified intent. Historic data is not delivered, but can be queried via the
            History
            Client.
Unlike 
            add(SensorRequest, OnDataPointListener), which takes a listener and is
            intended for fast sampling rates while the application is on the foreground, this
            method is intended for slower sampling rates without the need for an always-on
            service.
The application specifies a PendingIntent callback (typically an IntentService)
            which will be called when new data points are available in the requested stream. When
            the PendingIntent is called, the application can use 
            DataPoint.extract(android.content.Intent) to extract the DataPoint from the
            intent. See the documentation of PendingIntent
            for more details.
Any previously registered requests that have the same PendingIntent (as defined by
            
            PendingIntent.equals(Object)) will be replaced by this request.
Parameters
| request | Request specifying the desired data source or data type, as well as the desired parameters for the add request | 
|---|---|
| intent | A callback intent to be sent for each new data points. | 
Throws
| SecurityException | If a required permission is missing for the requested DataTypeorDataSource. | 
|---|
public Task<List<DataSource>> findDataSources (DataSourcesRequest request)
Finds all available data sources, on the device and remotely. Results are returned
            asynchronously as a task.
It's not necessary to call this method if an application is interested only in
            getting the best available data for a data type, regardless of source. In this case,
            
            add(SensorRequest, OnDataPointListener) can be used with a generic
            
            data type.
Parameters
| request | A built request specifying the data sources that you're interested in finding. | 
|---|
Returns
- A taskcontaining the found data sources.
public Task<Void> remove (PendingIntent pendingIntent)
Removes PendingIntent listener from a sensor data source. Should be called whenever live updates are no longer needed.
Parameters
| pendingIntent | The PendingIntent that was used in the 
                addrequest or is equal as defined by
                PendingIntent.equals(Object). | 
|---|
Throws
| IllegalStateException | If client is not connected. | 
|---|
public Task<Boolean> remove (OnDataPointListener listener)
Removes a listener from a sensor data source. Should be called whenever live updates are no longer needed, such as when the activity that displays live data is paused, stopped, or destroyed.
Parameters
| listener | The listener that was used in the 
                addrequest. | 
|---|
Throws
| IllegalStateException | If client is not connected. | 
|---|