private void DataUpdateRequested(string providerId, string reqAppId, ComplicationTypes type, IntPtr context, IntPtr sharedData, IntPtr userData) { Bundle bContext = new Bundle(new SafeBundleHandle(context, false)); ComplicationData data = OnDataUpdateRequested(reqAppId, type, bContext); if (data == null) { Log.Error(LogTag, "null complication data"); return; } ComplicationError err = data.UpdateSharedData(sharedData); if (err != ComplicationError.None) { Log.Error(LogTag, "Set complication data error : " + err); } }
/// <summary> /// Overrides this method to handle the behavior when the complication data update request event comes from watchface complication. /// </summary> /// <param name="reqestAppId">The application ID of application which sent update request.</param> /// <param name="type">The requested type.</param> /// <param name="contextData">The complication's context which is set by complication setup application.</param> /// <returns>The requested ComplicationData</returns> /// <since_tizen> 6 </since_tizen> protected abstract ComplicationData OnDataUpdateRequested(string reqestAppId, ComplicationTypes type, Bundle contextData);
internal static extern ComplicationError GetDataType(SafeBundleHandle handle, out ComplicationTypes type);
internal static extern ComplicationError GetCurrentType(IntPtr handle, out ComplicationTypes type);
internal static extern ComplicationError CreateComplication(int complicationId, string defaultProviderId, ComplicationTypes defaultType, int supportTypes, int supportEventTypes, out IntPtr handle);
internal static extern ComplicationError GetEventComplicationType(SafeAppControlHandle handle, out ComplicationTypes type);
internal static extern ComplicationError ProviderSetDataType(IntPtr sharedData, ComplicationTypes type);