Class HKWorkoutSession

  • All Implemented Interfaces:
    NSCoding, NSSecureCoding, NSObject

    public class HKWorkoutSession
    extends NSObject
    implements NSSecureCoding
    HKWorkoutSession An HKWorkoutSession is an object describing the properties of a workout activity session. API-Since: 17.0
    • Constructor Detail

      • HKWorkoutSession

        protected HKWorkoutSession​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • activityType

        public long activityType()
        [@property] activityType Indicates the type of workout that will be performed during the session.
      • allocWithZone

        public static HKWorkoutSession allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(@NotNull
                                                                   @NotNull java.lang.String key)
      • beginNewActivityWithConfigurationDateMetadata

        public void beginNewActivityWithConfigurationDateMetadata​(@NotNull
                                                                  @NotNull HKWorkoutConfiguration workoutConfiguration,
                                                                  @NotNull
                                                                  @NotNull NSDate date,
                                                                  @Nullable
                                                                  @Nullable NSDictionary<java.lang.String,​?> metadata)
        beginNewActivityWithConfiguration:date:metadata: Begins a new workout activity for this session. This method will asynchronously begin the workout activity. The delegate for this session would be informed once the activity effectively begins. Sensor algorithms to generate data would be updated to match the new activity. API-Since: 17.0
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(@NotNull
                                                                   @NotNull java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(@NotNull
                                                                                 @NotNull java.lang.Object aTarget,
                                                                                 @NotNull
                                                                                 @NotNull org.moe.natj.objc.SEL aSelector,
                                                                                 @Nullable
                                                                                 @Nullable java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        @NotNull
        public static @NotNull NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        @NotNull
        public static @NotNull org.moe.natj.objc.Class classForKeyedUnarchiver()
      • currentActivity

        @NotNull
        public @NotNull HKWorkoutActivity currentActivity()
        [@property] currentActivity The current workout activity. This returns a copy of the session's current workout activity. It will return a copy of the main workout activity if no new activity has begun. Changes made to the returned object have no impact on the HKWorkoutSession. API-Since: 17.0
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • delegate

        @Nullable
        public @Nullable HKWorkoutSessionDelegate delegate()
        [@property] delegate The session delegate, which receives The session delegate object is the one implementing the methods that get called when the session state changes or a failure occurs in the session.
      • description_static

        public static java.lang.String description_static()
      • end

        public void end()
        end Ends the workout session. This method will end the session if it is currently running or stopped. The state of the workout session will transition to HKWorkoutSessionStateEnded. Once a workout session is ended, it cannot be reused to start a new workout session. Sensor algorithms will be stopped, no new data will be generated for this session, and the system will exit session mode. API-Since: 17.0
      • endCurrentActivityOnDate

        public void endCurrentActivityOnDate​(@NotNull
                                             @NotNull NSDate date)
        endCurrentActivityOnDate: Ends the current workout activity. This method will end the current activity, reverting to the main session activity. The delegate for this session would be informed once the activity effectively ends. Sensor algorithms to generate data would be updated to match the main session activity. API-Since: 17.0
      • endDate

        @Nullable
        public @Nullable NSDate endDate()
        [@property] endDate Indicates the date when the workout session ended. This value is nil when a workout session is initialized. It is set when the workout session state changes to HKWorkoutSessionStateEnded.
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        @NotNull
        public static @NotNull NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(@NotNull
                                                                                             @NotNull java.lang.String key)
      • locationType

        public long locationType()
        [@property] locationType Indicates the type of location (indoors vs. outdoors) where the workout will take place. Knowing the location type allows for more accurate measurements and better performance.
      • pause

        public void pause()
        pause Pauses the workout session. This method will pause the session if it is currently running. The state of the workout session will transition to HKWorkoutSessionStatePaused. An HKWorkoutEventTypePause will be generated and delivered to the workout session's delegate. API-Since: 17.0
      • prepare

        public void prepare()
        prepare Prepares the workout session for starting. This method will asynchronously prepare the workout session for starting. The state of the workout session will transition to HKWorkoutSessionStatePrepared. A prepared session will put the system in session mode, but will not start the session activity. You might call this methods, for example, prior to displaying a countdown on your application while waiting for the activity to start. API-Since: 17.0
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • resume

        public void resume()
        resume Resumes the workout session. This method will resume the session if it is currently paused. The state of the workout session will transition to HKWorkoutSessionStateRunning. An HKWorkoutEventTypeResume will be generated and delivered to the workout session's delegate. API-Since: 17.0
      • sendDataToRemoteWorkoutSessionCompletion

        public void sendDataToRemoteWorkoutSessionCompletion​(@NotNull
                                                             @NotNull NSData data,
                                                             @NotNull
                                                             @NotNull HKWorkoutSession.Block_sendDataToRemoteWorkoutSessionCompletion completion)
        sendDataToRemoteWorkoutSession:completion: Sends an NSData object to the connected remote workout session. This method can be called to send data from a primary session to its mirrored counterpart and vice-versa. It's only intended to be used for data that describes the current state of the workout, such as accumulated metrics, and any data needed to keep your app on both devices in sync. The maximum amount of data that can be sent is 100 KB in any given 10-second time window. If this limit is exceeded, an error will be returned in the completion handler. An error will also be returned if the session is not mirroring. The completion handler will be executed on an arbitrary background queue. API-Since: 17.0
      • setDelegate_unsafe

        public void setDelegate_unsafe​(@Nullable
                                       @Nullable HKWorkoutSessionDelegate value)
        [@property] delegate The session delegate, which receives The session delegate object is the one implementing the methods that get called when the session state changes or a failure occurs in the session.
      • setDelegate

        public void setDelegate​(@Nullable
                                @Nullable HKWorkoutSessionDelegate value)
        [@property] delegate The session delegate, which receives The session delegate object is the one implementing the methods that get called when the session state changes or a failure occurs in the session.
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • startActivityWithDate

        public void startActivityWithDate​(@Nullable
                                          @Nullable NSDate date)
        startActivityWithDate: Starts the workout session activity. This method will asynchronously begin the workout session activity. The state of the workout session will transition to HKWorkoutSessionStateRunning. Once a session activity is started the system will be in session mode and sensor algorithms will be applied to generate data for the workout activity. API-Since: 17.0
        Parameters:
        date - Start date for the workout session activity
      • startDate

        @Nullable
        public @Nullable NSDate startDate()
        [@property] startDate Indicates the date when the workout session started running. This value is nil when a workout session is initialized. It is set when the workout session state changes to HKWorkoutSessionStateRunning.
      • state

        public long state()
        [@property] state Indicates the current state of the workout session. Each time this value is updated, the delegate method workoutSession:didChangeToState:fromState:date: will be called.
      • stopActivityWithDate

        public void stopActivityWithDate​(@Nullable
                                         @Nullable NSDate date)
        stopActivityWithDate: Stops the workout session activity. This method will asynchronously stop the session activity if it is currently running. The state of the workout session will transition to HKWorkoutSessionStateStopped. Once a workout session is stopped, it cannot be reused to start a new workout session. Sensor algorithms will be stopped and no new data will be generated for this session. However, the system will remain in session mode. API-Since: 17.0
        Parameters:
        date - Stop date for the workout session activity
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • supportsSecureCoding

        public static boolean supportsSecureCoding()
      • _supportsSecureCoding

        public boolean _supportsSecureCoding()
        Description copied from interface: NSSecureCoding
        This property must return YES on all classes that allow secure coding. Subclasses of classes that adopt NSSecureCoding and override initWithCoder: must also override this method and return YES. The Secure Coding Guide should be consulted when writing methods that decode data.
        Specified by:
        _supportsSecureCoding in interface NSSecureCoding
      • type

        public long type()
        [@property] type Indicates the type of the workout session. A workout session created using an initializer will be primary, while a session retrieved with the `HKHealthStore` `workoutSessionMirroringStartHandler` property will be mirrored. API-Since: 17.0
      • useStoredAccessor

        @Deprecated
        public static boolean useStoredAccessor()
        Deprecated.
      • version_static

        public static long version_static()
      • workoutConfiguration

        @NotNull
        public @NotNull HKWorkoutConfiguration workoutConfiguration()
        [@property] workoutConfiguration The configuration object describing the workout. This returns a copy of the configuration passed when creating the HKWorkoutSession. Changes made to the returned object have no impact on the HKWorkoutSession. API-Since: 17.0