static AwarenessFence CreateWholeDayFence() { const long startTimeOFDayMillis = 0; const long endTimeOfDayMillis = 24L * HourInMillis; return(TimeFence.InDailyInterval(startTimeOFDayMillis, endTimeOfDayMillis, "America/Denver")); }
static AwarenessFence CreateSunriseOrSunsetFence() { return(AwarenessFence.Or( TimeFence.AroundTimeInstant(TimeFence.TimeInstant.Sunrise, -HourInMillis, HourInMillis), TimeFence.AroundTimeInstant(TimeFence.TimeInstant.Sunset, -HourInMillis, HourInMillis) )); }
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) )); }
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); }