This interface is deprecated.
      For reading and writing historical fitness data, use Health Connect instead.
      For recording sessions on Wear OS 3 devices, use Health Services instead.
API for creating and managing sessions of
      user activity in Google Fit. Sessions are a way of storing user-visible groups of related
      stream data in a useful and shareable manner, and allow for easy querying of the data in a
      detailed or aggregated fashion.
The 
      startSession(GoogleApiClient, Session) and 
      stopSession(GoogleApiClient, String) methods mark the time range of the session.
      Data inserted using the HistoryApi
      during the period where the session is in progress will be associated with that Session once
      it is stopped.
Another way of adding sessions is with 
      insertSession(GoogleApiClient, SessionInsertRequest). This is designed for bulk
      insertion when importing a user's historic data into Google Fit; for live sessions use the
      previous API. All data in Google Fit that falls within the time range of an inserted session
      will be implicitly associated with that session.
Once a session has been saved, it can be retrieved using 
      readSession(GoogleApiClient, SessionReadRequest).
Clients can register to be notified of sessions, and remove existing registrations, using
      
      registerForSessions(GoogleApiClient, PendingIntent) and 
      unregisterForSessions(GoogleApiClient, PendingIntent). Notifications will be sent
      for sessions when they are started and stopped.
Deleting sessions is handled like any other data deletion, via 
      HistoryApi.deleteData(GoogleApiClient, DataDeleteRequest).
The Sessions API should be accessed via the Fitness entry
      point. Example:
     GoogleApiClient client = new GoogleApiClient.Builder(context)
         .addApi(Fitness.SESSIONS_API)
         ...
         .build();
     client.connect();
     Session session = new Session.Builder()
         .setName(sessionName)
         .setIdentifier(identifier)
         .setDescription(description)
         .setStartTime(startTime.getMillis(), TimeUnit.MILLISECONDS)
         .build();
     PendingResult<Status> pendingResult
         = Fitness.SessionsApi.startSession(client, session);
 Nested Class Summary
| class | SessionsApi.ViewIntentBuilder | Builder of intents to view sessions
              stored in Google Fit.  | 
            |
Public Method Summary
| abstract PendingResult<Status> | 
                 
                  
                  insertSession(GoogleApiClient
                  client, 
                  SessionInsertRequest request)
                   
              
                    Inserts specified  
                Session
                    and corresponding data into the user's Google Fit store on behalf of the
                    current application.
                   | 
            
| abstract PendingResult<SessionReadResult> | 
                 
                  
                  readSession(GoogleApiClient
                  client, 
                  SessionReadRequest request)
                   
              
                    Reads data from the user's Google Fit store of the specific type(s) and for the
                    specific session(s) selected from the request parameters.
                   
                 | 
            
| abstract PendingResult<Status> | 
                 
                  
                  registerForSessions(GoogleApiClient
                  client, PendingIntent
                  intent)
                   
              
                    Registers for notifications of session start and end events using a
                    PendingIntent.
                   
                 | 
            
| abstract PendingResult<Status> | 
                 
                  
                  startSession(GoogleApiClient
                  client, Session
                  session)
                   
              
                    Starts a new active session for the current application.
                   
                 | 
            
| abstract PendingResult<SessionStopResult> | 
                 
                  
                  stopSession(GoogleApiClient
                  client, String identifier)
                   
              
                    Stops active sessions for the current application.
                   
                 | 
            
| abstract PendingResult<Status> | 
                 
                  
                  unregisterForSessions(GoogleApiClient
                  client, PendingIntent
                  intent)
                   
              
                    Unregisters from session start and end notifications using a  
                PendingIntent.
                   | 
            
Public Methods
public abstract PendingResult<Status> insertSession (GoogleApiClient client, SessionInsertRequest request)
Inserts specified Session
            and corresponding data into the user's Google Fit store on behalf of the current
            application. Useful for bulk upload of a previously recorded session.
Parameters
| client | An existing GoogleApiClient. It does not need to be connected at the time of this call, but the insertion will be delayed until the connection is complete. | 
|---|---|
| request | The Session
                and its associated data, which includes details of the session and data set for
                data source(s). | 
              
public abstract PendingResult<SessionReadResult> readSession (GoogleApiClient client, SessionReadRequest request)
Reads data from the user's Google Fit store of the specific type(s) and for the specific session(s) selected from the request parameters.
Note that, by default, only sessions from your app are returned. To read sessions
            from other apps, 
            SessionReadRequest.Builder.readSessionsFromAllApps() can be used.
Parameters
| client | An existing GoogleApiClient. It does not need to be connected at the time of this call, but the insertion will be delayed until the connection is complete. | 
|---|---|
| request | A built request specifying the specific session, time interval and/or data type for the query | 
Returns
- A pending result containing the requested session and data. Includes a data set for each session and data type that was returned.
 
public abstract PendingResult<Status> registerForSessions (GoogleApiClient client, PendingIntent intent)
Registers for notifications of session start and end events using a PendingIntent.
            Notifications will be sent only for sessions that are explicitly started by an app via
            
            startSession(GoogleApiClient, Session).
The application specifies a PendingIntent callback (typically an IntentService)
            which will be called when sessions are started or stopped. When the PendingIntent is
            called, the application can use 
            Session.extract(android.content.Intent) to extract the Session from the
            intent. In addition, the following Intent extras can be used:
Fitness.EXTRA_START_TIMEset to the Session's start time.Fitness.EXTRA_END_TIMEoptionally set to the Session's end time if the session has ended.
Finally, the Intent's type will be set to 
            FitnessActivities.MIME_TYPE_PREFIX followed by the name of the activity
            associated with this session, and can be computed by 
            FitnessActivities.getMimeType(String).
Any previously registrations that have the same PendingIntent (as defined by
            
            PendingIntent.equals(Object)) will be replaced by this registration.
Parameters
| client | An existing GoogleApiClient. Must be connected at the time of this call. | 
|---|---|
| intent | A callback intent to be sent every time a session is started or stopped. | 
public abstract PendingResult<Status> startSession (GoogleApiClient client, Session session)
Starts a new active session for the current application.
Parameters
| client | An existing GoogleApiClient. Must be connected at the time of this call. | 
|---|---|
| session | The session to be started. | 
Returns
- A pending result containing the status of request.
 
Throws
| IllegalStateException | If client is not connected. | 
|---|
public abstract PendingResult<SessionStopResult> stopSession (GoogleApiClient client, String identifier)
Stops active sessions for the current application. The active sessions to be stopped are chosen as per the specifications in the input request.
Parameters
| client | An existing GoogleApiClient. Must be connected at the time of this call. | 
|---|---|
| identifier | The identifier of the session to stop. If null is passed all
                active sessions will be stopped. | 
              
Returns
- A pending result containing the list of sessions that were stopped.
 
Throws
| IllegalStateException | If client is not connected. | 
|---|
public abstract PendingResult<Status> unregisterForSessions (GoogleApiClient client, PendingIntent intent)
Unregisters from session start and end notifications using a PendingIntent.
Parameters
| client | An existing GoogleApiClient. Must be connected at the time of this call. | 
|---|---|
| intent | The PendingIntent that was used in the 
                registerForSessions call or is equal as defined by 
                PendingIntent.equals(Object). | 
              
Throws
| IllegalStateException | If client is not connected. | 
|---|