Ejemplo n.º 1
0
    static AwarenessFence CreateWholeDayFence()
    {
        const long startTimeOFDayMillis = 0;
        const long endTimeOfDayMillis   = 24L * HourInMillis;

        return(TimeFence.InDailyInterval(startTimeOFDayMillis, endTimeOfDayMillis, "America/Denver"));
    }
Ejemplo n.º 2
0
 static AwarenessFence CreateSunriseOrSunsetFence()
 {
     return(AwarenessFence.Or(
                TimeFence.AroundTimeInstant(TimeFence.TimeInstant.Sunrise, -HourInMillis, HourInMillis),
                TimeFence.AroundTimeInstant(TimeFence.TimeInstant.Sunset, -HourInMillis, HourInMillis)
                ));
 }
Ejemplo n.º 3
0
 static AwarenessFence CreateAnyTimeIntervalFence()
 {
     return(AwarenessFence.Or(
                TimeFence.InTimeInterval(TimeFence.TimeInterval.Weekday),
                TimeFence.InTimeInterval(TimeFence.TimeInterval.Weekend),
                TimeFence.InTimeInterval(TimeFence.TimeInterval.Holiday),
                TimeFence.InTimeInterval(TimeFence.TimeInterval.Morning),
                TimeFence.InTimeInterval(TimeFence.TimeInterval.Afternoon),
                TimeFence.InTimeInterval(TimeFence.TimeInterval.Evening),
                TimeFence.InTimeInterval(TimeFence.TimeInterval.Night)
                ));
 }
Ejemplo n.º 4
0
    public void OnRegisterFences()
    {
        var currentTimeMillis = CurrentTimeMillis;

        FenceClient.UpdateFences(new FenceUpdateRequest.Builder()
                                 .AddFence(ExercisingWithHeadphonesKey, CreateExercisingWithHeadphonesFence())
                                 .AddFence(AllHeadphonesKey, CreateHeadphonesFence())
                                 .AddFence(AllLocationKey, CreateLocationFence())
                                 .AddFence(AllBeaconFence, CreateBeaconFence())
                                 .AddFence(AroundSunriseOrSunsetKey, CreateSunriseOrSunsetFence())
                                 .AddFence(AnyTimeIntervalKey, CreateAnyTimeIntervalFence())
                                 .AddFence(WholeDayKey, CreateWholeDayFence())
                                 .AddFence(NextHourKey, TimeFence.InInterval(currentTimeMillis, currentTimeMillis + HourInMillis))
                                 // throws FENCE_NOT_AVAILABLE for some reason
//			.AddFence("next_hour_monday, TimeFence.InIntervalOfDay(TimeFence.DayOfWeek.Monday, 0L, 24L * HourInMillis))
                                 .Build(), () => { LogSuccess("Fences successfully updated"); }, LogFailure);
    }