{
public abstract class ActivityDetector : Sensor
{
+ protected const int ActivityAttribute = (((int)SensorType.InVehicleActivityDetector << 8) | 0x80 | 0x1);
+
+ protected enum ActivityType
+ {
+ Unknown = 1,
+ Stationary = 2,
+ Walking = 4,
+ Running = 8,
+ InVehicle = 16,
+ OnBicycle = 32,
+ };
+
/// <summary>
/// Gets the activity accuracy of activity detector
/// </summary>
/// </param>
public InVehicleActivityDetector(int index) : base(index)
{
+ SetAttribute((SensorAttribute)ActivityAttribute, (int)ActivityType.InVehicle);
Log.Info(Globals.LogTag, "Creating in-vehicle activity detector object");
}
/// </param>
public RunningActivityDetector(int index) : base(index)
{
+ SetAttribute((SensorAttribute)ActivityAttribute, (int)ActivityType.Running);
Log.Info(Globals.LogTag, "Creating running activity detector object");
}
/// </param>
public StationaryActivityDetector(int index) : base(index)
{
+ SetAttribute((SensorAttribute)ActivityAttribute, (int)ActivityType.Stationary);
Log.Info(Globals.LogTag, "Creating stationary activity detector object");
}
/// </param>
public WalkingActivityDetector(int index) : base(index)
{
+ SetAttribute((SensorAttribute)ActivityAttribute, (int)ActivityType.Walking);
Log.Info(Globals.LogTag, "Creating walking activity gesture detector object");
}
}
/// <summary>
- /// Gets the attribute.
+ /// Sets the pause policy of the sensor.
/// </summary>
/// <value>
public SensorPausePolicy PausePolicy
{
Log.Info(Globals.LogTag, "Setting the pause policy of the sensor");
_pausePolicy = value;
- SetPausePolicy();
+ SetAttribute(SensorAttribute.PausePolicy, (int)_pausePolicy);
}
get
{
_disposed = true;
}
+ protected void SetAttribute(SensorAttribute attribute, int option)
+ {
+ if (CheckListenerHandle())
+ {
+ int error = Interop.SensorListener.SetAttribute(_listenerHandle, attribute, option);
+ if (error != (int)SensorError.None)
+ {
+ Log.Error(Globals.LogTag, "Error setting sensor pause policy");
+ throw SensorErrorFactory.CheckAndThrowException(error, "Setting Sensor.PausePolicy Failed");
+ }
+ }
+ }
+
private void GetHandleList(SensorType type, int index)
{
IntPtr list;
}
}
- private void SetPausePolicy()
- {
- if (CheckListenerHandle())
- {
- int error = Interop.SensorListener.SetAttribute(_listenerHandle, SensorAttribute.PausePolicy, (int)_pausePolicy);
- if (error != (int)SensorError.None)
- {
- Log.Error(Globals.LogTag, "Error setting sensor pause policy");
- throw SensorErrorFactory.CheckAndThrowException(error, "Setting Sensor.PausePolicy Failed");
- }
- }
- }
-
private bool CheckListenerHandle()
{
bool result = false;
/// <summary>
/// Walking activity detector.
/// </summary>
- WalkingActivityDetector = 0x401,
+ WalkingActivityDetector = 0x1A00,
/// <summary>
/// Running activity detector.
/// </summary>
- RunningActivityDetector = 0x402,
+ RunningActivityDetector = 0x1A00,
/// <summary>
/// Stationary activity detector.
/// </summary>
- StationaryActivityDetector = 0x408,
+ StationaryActivityDetector = 0x1A00,
/// <summary>
/// InVehicle activity detector.
/// </summary>
- InVehicleActivityDetector = 0x409,
+ InVehicleActivityDetector = 0x1A00,
/// <summary>
/// Wrist up gesture detector.
/// </summary>