internal static void PlatformStart(SensorSpeed sensorSpeed)
        {
            var delay = SensorDelay.Normal;

            switch (sensorSpeed)
            {
            case SensorSpeed.Normal:
                delay = SensorDelay.Normal;
                break;

            case SensorSpeed.Fastest:
                delay = SensorDelay.Fastest;
                break;

            case SensorSpeed.Game:
                delay = SensorDelay.Game;
                break;

            case SensorSpeed.Ui:
                delay = SensorDelay.Ui;
                break;
            }

            listener          = new OrientationSensorListener();
            orientationSensor = Platform.SensorManager.GetDefaultSensor(SensorType.RotationVector);
            Platform.SensorManager.RegisterListener(listener, orientationSensor, delay);
        }
        internal static void PlatformStart(SensorSpeed sensorSpeed)
        {
            var delay = sensorSpeed.ToPlatform();

            listener          = new OrientationSensorListener();
            orientationSensor = Platform.SensorManager.GetDefaultSensor(SensorType.RotationVector);
            Platform.SensorManager.RegisterListener(listener, orientationSensor, delay);
        }
        internal static void PlatformStop()
        {
            if (listener == null || orientationSensor == null)
            {
                return;
            }

            Platform.SensorManager.UnregisterListener(listener, orientationSensor);
            listener.Dispose();
            listener = null;
        }