So I’ve decided to debug the Next Event issue… and went thru the logs of my watch, while beforehand creating a simple WF with short and long text complication, setting it up to display Calendar.
So the NextEvent call is actually crashing in the background, when it calls the service.
I’ve setup a test event at 19:00 CET and you can see it finds it, it’s there, but when the service returns the data…
02-26 18:30:02.660 1266 14027 D WCS : [DataRequester]scheduleNextUpdate 261
02-26 18:30:02.670 1266 14027 D WCS : [DataRequester]Scheduling job for ComplicationConfig{id=261, watchFaceComponent=ComponentInfo{com.watchfacestudio.Test_45972916651884356414702358769417/com.samsung.android.wearable.watchfacestudio.WatchFaceStudioRuntime}, watchFaceSlotId=13, provider=ComponentInfo{com.samsung.android.wearable.sysui/com.google.android.clockwork.sysui.experiences.calendar.NextEventProviderService}, type=3, configActionPending=false, enabled=true} delay=300 jobId=1000076
02-26 18:30:02.673 14836 14836 I NextEventProvider: [Service] onComplicationUpdate
02-26 18:30:02.673 14836 14836 I SysUI : [NextEventProvider]onComplicationUpdate
02-26 18:30:02.676 14836 14909 I NextEventProvider: [DataBuilder] buildComplicationData
02-26 18:30:02.677 563 2559 D BaseRestrictionMgr: callerPkgName:com.samsung.android.wearable.sysui calleePackage:com.samsung.android.calendar action:null for type:provider
02-26 18:30:02.684 1266 14027 D WCS : [ComplicationController]requestUpdateFromProvider 262
02-26 18:30:02.684 1266 14027 D WCS : [DataRequester]cancelScheduledUpdates ComplicationConfig{id=262, watchFaceComponent=ComponentInfo{com.watchfacestudio.Test_45972916651884356414702358769417/com.samsung.android.wearable.watchfacestudio.WatchFaceStudioRuntime}, watchFaceSlotId=14, provider=ComponentInfo{com.samsung.android.wearable.sysui/com.google.android.clockwork.sysui.experiences.calendar.NextEventProviderService}, type=4, configActionPending=false, enabled=true}
02-26 18:30:02.691 1782 11713 I WCalendar$WatchCalendarProvider: [QUERY] URI : content://com.samsung.android.calendar.watch/nextEvents(com.samsung.android.wearable.sysui)
02-26 18:30:02.691 1782 11713 I WCalendar$WatchCalendarProvider: [QUERY] NextEvent query Range : 1645896602000, 1645916399000
02-26 18:30:02.701 14836 14909 I NextEventProvider: [DataBuilder] ChosenEvent : EventInstance{dataItemName=null, id=0, eventId=21687, title=<6 chars>, begin=1645898400000{Sat Feb 26 19:00:00 GMT+01:00 2022}, end=1645902000000{Sat Feb 26 20:00:00 GMT+01:00 2022}, eventColor=-15292571, calColor=0, allDay=false, ownerAccount=<0 chars>, status=0, ownerProfileAssetData=<0 chars>, reminders=null, attendees=<0 chars>, type=0, url=<0 chars>}
02-26 18:30:02.701 14836 14909 I NextEventProvider: [DataBuilder] ChosenEvent : 21687
02-26 18:30:02.702 563 1176 D BaseRestrictionMgr: callerPkgName:null calleePackage:com.android.providers.calendar action:null for type:provider
02-26 18:30:02.710 379 460 I Sensors : context 12 0 11 1,1,46,1,0,0,4,0,1,124,119,4, 175388796909112
02-26 18:30:02.710 379 460 D Sensors : scontext len: 12, inst: 1, type: 1, LibType: 46
02-26 18:30:02.710 379 460 I Sensors : Parsed libType: 46(37) 12
02-26 18:30:02.712 1266 14027 D WCS : [DataRequester]requestUpdateFromProvider ComplicationConfig{id=262, watchFaceComponent=ComponentInfo{com.watchfacestudio.Test_45972916651884356414702358769417/com.samsung.android.wearable.watchfacestudio.WatchFaceStudioRuntime}, watchFaceSlotId=14, provider=ComponentInfo{com.samsung.android.wearable.sysui/com.google.android.clockwork.sysui.experiences.calendar.NextEventProviderService}, type=4, configActionPending=false, enabled=true}
02-26 18:30:02.713 1266 14027 D WCS : [DataRequester]scheduleNextUpdate 262
02-26 18:30:02.734 14836 14836 I NextEventProvider: [Service] onComplicationUpdate
02-26 18:30:02.734 14836 14836 I SysUI : [NextEventProvider]onComplicationUpdate
02-26 18:30:02.734 14836 14891 I NextEventProvider: [DataBuilder] buildComplicationData
02-26 18:30:02.735 1266 14027 D WCS : [DataRequester]Scheduling job for ComplicationConfig{id=262, watchFaceComponent=ComponentInfo{com.watchfacestudio.Test_45972916651884356414702358769417/com.samsung.android.wearable.watchfacestudio.WatchFaceStudioRuntime}, watchFaceSlotId=14, provider=ComponentInfo{com.samsung.android.wearable.sysui/com.google.android.clockwork.sysui.experiences.calendar.NextEventProviderService}, type=4, configActionPending=false, enabled=true} delay=300 jobId=1000077
02-26 18:30:02.738 1583 19307 I SHW - WhsPassiveMonitoringSensor: [onPassiveMonitoringUpdate] start
02-26 18:30:02.739 1583 19307 I SHW - WhsPassiveMonitoringSensor: [onPassiveMonitoringUpdate] end
02-26 18:30:02.741 1583 9118 I SHW - WhsPassiveMonitoringSensor: [onPassiveMonitoringUpdate] emit hr data
02-26 18:30:02.742 1583 1723 I SHW - DataPointHelper: [toHeartRateSensorData] metadata=[hr_rri :1143][source :24][hr_flags :1]
02-26 18:30:02.743 1583 1723 I SHW - WhsHeartRateBackgroundSensor: [loggingSensorEvent] startTime:1645896602710, endTime:1645896602710, zeroCount:0, nonZeroCount:1, modeFrequent:0, modeContinuous:1
02-26 18:30:02.743 14836 14836 E AndroidRuntime: FATAL EXCEPTION: main
02-26 18:30:02.743 14836 14836 E AndroidRuntime: Process: com.samsung.android.wearable.sysui, PID: 14836
02-26 18:30:02.743 14836 14836 E AndroidRuntime: java.lang.IllegalArgumentException: Preview data should have time range set to ALWAYS.
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at androidx.wear.watchface.complications.datasource.ComplicationDataSourceService$IComplicationProviderWrapper$onUpdate$1$1.onComplicationData(ComplicationDataSourceService.kt:255)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at com.google.android.wearable.libraries.steampack.googlecomplicationsprovider.GoogleComplicationProviderService$2$1.onComplicationData(GoogleComplicationProviderService.java:161)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at com.google.android.clockwork.sysui.experiences.calendar.NextEventProviderService$1.onPostExecute(NextEventProviderService.java:66)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at com.google.android.clockwork.sysui.experiences.calendar.NextEventProviderService$1.onPostExecute(NextEventProviderService.java:55)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at com.google.android.clockwork.common.concurrent.CwAsyncTask.finish(CwAsyncTask.java:469)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at com.google.android.clockwork.common.concurrent.CwAsyncTask.access$500(CwAsyncTask.java:41)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at com.google.android.clockwork.common.concurrent.CwAsyncTask$InternalHandler.handleMessage(CwAsyncTask.java:486)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at android.os.Looper.loop(Looper.java:246)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7690)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
02-26 18:30:02.743 14836 14836 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
02-26 18:30:02.743 1782 11713 I WCalendar$WatchCalendarProvider: [QUERY] URI : content://com.samsung.android.calendar.watch/nextEvents(com.samsung.android.wearable.sysui)
02-26 18:30:02.746 1782 11713 I WCalendar$WatchCalendarProvider: [QUERY] NextEvent query Range : 1645896602000, 1645916399000
If I’m not mistaken, Samsung needs to fix this on their end.