private void StopInternal() { if (IsStarted) { MLDevice.UnregisterUpdate(this.Update); MLDevice.UnregisterApplicationPause(this.OnApplicationPause); MLDevice.UnregisterDestroy(instance.StopInternal); MLResult.Code resultCode = instance.StopAPI(); if (DidNativeCallSucceed(resultCode, $"{typeof(T).Name} Stop")) { MLPluginLog.Debug($"{typeof(T).Name} API stopped successfully"); } if (perceptionHandle.active) { perceptionHandle.Dispose(); } IsStarted = false; } }