Skip to content

Commit

Permalink
[CoreMotion] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. (#…
Browse files Browse the repository at this point in the history
…20862)

Note: there were no changes in beta 3.
  • Loading branch information
rolfbjarne authored Jul 12, 2024
1 parent 20a18e3 commit c2bb0a0
Show file tree
Hide file tree
Showing 9 changed files with 77 additions and 90 deletions.
61 changes: 59 additions & 2 deletions src/coremotion.cs
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@ interface CMMotionActivityManager {
///
///
/// <related type="externalDocumentation" href="https://developer.apple.com/library/ios/documentation/CoreMotion/Reference/CMMotionActivity_class/index.html">Apple documentation for <c>CMMotionActivity</c></related>
[NoMac]
[Mac (15, 0)]
[MacCatalyst (13, 1)]
[BaseType (typeof (CMLogItem))]
[DisableDefaultCtor] // <quote>You do not create instances of this class yourself.</quote>
Expand Down Expand Up @@ -790,7 +790,7 @@ public enum CMAttitudeReferenceFrame : ulong {
}

/// <summary>An enumeration whose values specify the confidence in a <see cref="T:CoreMotion.CMMotionActivity" />.</summary>
[NoMac]
[Mac (15, 0)]
[MacCatalyst (13, 1)]
// NSInteger -> CMMotionActivity.h
[Native]
Expand Down Expand Up @@ -861,6 +861,18 @@ interface CMHeadphoneMotionManager {

[Export ("stopDeviceMotionUpdates")]
void StopDeviceMotionUpdates ();

[Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
[Export ("connectionStatusActive")]
bool ConnectionStatusActive { [Bind ("isConnectionStatusActive")] get; }

[Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
[Export ("startConnectionStatusUpdates")]
void StartConnectionStatusUpdates ();

[Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
[Export ("stopConnectionStatusUpdates")]
void StopConnectionStatusUpdates ();
}

interface ICMHeadphoneMotionManagerDelegate { }
Expand Down Expand Up @@ -1239,4 +1251,49 @@ interface CMHighFrequencyHeartRateData {
[NullAllowed, Export ("date")]
NSDate Date { get; }
}

[Native]
[Watch (11, 0), NoTV, Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
enum CMHeadphoneActivityStatus : long {
Disconnected = 0,
Connected,
}

[Watch (11, 0), NoTV, Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
delegate void CMHeadphoneActivityStatusHandler (CMHeadphoneActivityStatus status, [NullAllowed] NSError error);

[Watch (11, 0), NoTV, Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
delegate void CMHeadphoneActivityHandler ([NullAllowed] CMMotionActivity activity, [NullAllowed] NSError error);

[Watch (11, 0), NoTV, Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
[BaseType (typeof (NSObject))]
interface CMHeadphoneActivityManager {
[Static]
[Export ("authorizationStatus")]
CMAuthorizationStatus AuthorizationStatus { get; }

[Export ("isActivityAvailable")]
bool IsActivityAvailable { get; }

[Export ("isActivityActive")]
bool IsActivityActive { get; }

[Export ("isStatusAvailable")]
bool IsStatusAvailable { get; }

[Export ("isStatusActive")]
bool IsStatusActive { get; }

[Export ("startActivityUpdatesToQueue:withHandler:")]
void StartActivityUpdates (NSOperationQueue queue, CMHeadphoneActivityHandler handler);

[Export ("stopActivityUpdates")]
void StopActivityUpdates ();

[Export ("startStatusUpdatesToQueue:withHandler:")]
void StartStatusUpdates (NSOperationQueue queue, CMHeadphoneActivityStatusHandler handler);

[Export ("stopStatusUpdates")]
void StopStatusUpdates ();
}
}
18 changes: 18 additions & 0 deletions tests/cecil-tests/Documentation.KnownFailures.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7547,6 +7547,8 @@ F:CoreMotion.CMError.Null
F:CoreMotion.CMError.Size
F:CoreMotion.CMError.TrueNorthNotAvailable
F:CoreMotion.CMError.Unknown
F:CoreMotion.CMHeadphoneActivityStatus.Connected
F:CoreMotion.CMHeadphoneActivityStatus.Disconnected
F:CoreMotion.CMHighFrequencyHeartRateDataConfidence.High
F:CoreMotion.CMHighFrequencyHeartRateDataConfidence.Highest
F:CoreMotion.CMHighFrequencyHeartRateDataConfidence.Low
Expand Down Expand Up @@ -32418,9 +32420,15 @@ M:CoreMotion.CMDeviceMotion.EncodeTo(Foundation.NSCoder)
M:CoreMotion.CMDyskineticSymptomResult.Copy(Foundation.NSZone)
M:CoreMotion.CMDyskineticSymptomResult.EncodeTo(Foundation.NSCoder)
M:CoreMotion.CMGyroData.EncodeTo(Foundation.NSCoder)
M:CoreMotion.CMHeadphoneActivityManager.StartActivityUpdates(Foundation.NSOperationQueue,CoreMotion.CMHeadphoneActivityHandler)
M:CoreMotion.CMHeadphoneActivityManager.StartStatusUpdates(Foundation.NSOperationQueue,CoreMotion.CMHeadphoneActivityStatusHandler)
M:CoreMotion.CMHeadphoneActivityManager.StopActivityUpdates
M:CoreMotion.CMHeadphoneActivityManager.StopStatusUpdates
M:CoreMotion.CMHeadphoneMotionManager.Dispose(System.Boolean)
M:CoreMotion.CMHeadphoneMotionManager.StartConnectionStatusUpdates
M:CoreMotion.CMHeadphoneMotionManager.StartDeviceMotionUpdates
M:CoreMotion.CMHeadphoneMotionManager.StartDeviceMotionUpdates(Foundation.NSOperationQueue,CoreMotion.CMHeadphoneDeviceMotionHandler)
M:CoreMotion.CMHeadphoneMotionManager.StopConnectionStatusUpdates
M:CoreMotion.CMHeadphoneMotionManager.StopDeviceMotionUpdates
M:CoreMotion.CMHeadphoneMotionManagerDelegate_Extensions.DidConnect(CoreMotion.ICMHeadphoneMotionManagerDelegate,CoreMotion.CMHeadphoneMotionManager)
M:CoreMotion.CMHeadphoneMotionManagerDelegate_Extensions.DidDisconnect(CoreMotion.ICMHeadphoneMotionManagerDelegate,CoreMotion.CMHeadphoneMotionManager)
Expand Down Expand Up @@ -62716,7 +62724,13 @@ P:CoreMotion.CMDyskineticSymptomResult.PercentLikely
P:CoreMotion.CMDyskineticSymptomResult.PercentUnlikely
P:CoreMotion.CMDyskineticSymptomResult.StartDate
P:CoreMotion.CMGyroData.RotationRate
P:CoreMotion.CMHeadphoneActivityManager.AuthorizationStatus
P:CoreMotion.CMHeadphoneActivityManager.IsActivityActive
P:CoreMotion.CMHeadphoneActivityManager.IsActivityAvailable
P:CoreMotion.CMHeadphoneActivityManager.IsStatusActive
P:CoreMotion.CMHeadphoneActivityManager.IsStatusAvailable
P:CoreMotion.CMHeadphoneMotionManager.AuthorizationStatus
P:CoreMotion.CMHeadphoneMotionManager.ConnectionStatusActive
P:CoreMotion.CMHeadphoneMotionManager.Delegate
P:CoreMotion.CMHeadphoneMotionManager.DeviceMotion
P:CoreMotion.CMHeadphoneMotionManager.DeviceMotionActive
Expand Down Expand Up @@ -78769,6 +78783,10 @@ T:CoreMotion.CMBatchedSensorManager
T:CoreMotion.CMCalibratedMagneticField
T:CoreMotion.CMDeviceMotionSensorLocation
T:CoreMotion.CMDyskineticSymptomResult
T:CoreMotion.CMHeadphoneActivityHandler
T:CoreMotion.CMHeadphoneActivityManager
T:CoreMotion.CMHeadphoneActivityStatus
T:CoreMotion.CMHeadphoneActivityStatusHandler
T:CoreMotion.CMHeadphoneDeviceMotionHandler
T:CoreMotion.CMHeadphoneMotionManager
T:CoreMotion.CMHeadphoneMotionManagerDelegate
Expand Down
14 changes: 0 additions & 14 deletions tests/xtro-sharpie/api-annotations-dotnet/iOS-CoreMotion.todo

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
## available in headers but not used in any (available) API
!missing-enum! CMAttitudeReferenceFrame not bound
!missing-enum! CMFallDetectionEventUserResolution not bound
!missing-enum! CMMotionActivityConfidence not bound

## available in headers but do not make much sense for macOS
!missing-selector! CMAmbientPressureData::pressure not bound
Expand Down
22 changes: 0 additions & 22 deletions tests/xtro-sharpie/api-annotations-dotnet/macOS-CoreMotion.todo

This file was deleted.

14 changes: 0 additions & 14 deletions tests/xtro-sharpie/iOS-CoreMotion.todo

This file was deleted.

1 change: 0 additions & 1 deletion tests/xtro-sharpie/macOS-CoreMotion.ignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
## available in headers but not used in any (available) API
!missing-enum! CMAttitudeReferenceFrame not bound
!missing-enum! CMFallDetectionEventUserResolution not bound
!missing-enum! CMMotionActivityConfidence not bound

## available in headers but do not make much sense for macOS
!missing-selector! CMAmbientPressureData::pressure not bound
Expand Down
22 changes: 0 additions & 22 deletions tests/xtro-sharpie/macOS-CoreMotion.todo

This file was deleted.

14 changes: 0 additions & 14 deletions tests/xtro-sharpie/watchOS-CoreMotion.todo

This file was deleted.

3 comments on commit c2bb0a0

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥 [CI Build] Build failed 🔥

Build failed for the job 'Detect API changes'

Pipeline on Agent
Hash: c2bb0a04b5cbd8fb4e21d909552274a3e9e21ceb [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥 [CI Build] Build failed 🔥

Build failed for the job 'Build macOS tests'

Pipeline on Agent
Hash: c2bb0a04b5cbd8fb4e21d909552274a3e9e21ceb [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥 [CI Build] Build failed 🔥

Build failed for the job 'Build packages'

Pipeline on Agent
Hash: c2bb0a04b5cbd8fb4e21d909552274a3e9e21ceb [CI build]

Please sign in to comment.