@@ -0,0 +1,1356 @@
+// Copyright 2019 Google LLC%0A//%0A// Licensed under the Apache License, Version 2.0 (the %22License%22);%0A// you may not use this file except in compliance with the License.%0A// You may obtain a copy of the License at%0A//%0A//     https://www.apache.org/licenses/LICENSE-2.0%0A//%0A// Unless required by applicable law or agreed to in writing, software%0A// distributed under the License is distributed on an %22AS IS%22 BASIS,%0A// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A// See the License for the specific language governing permissions and%0A// limitations under the License.%0A%0Apackage com.google.research.bleth.simulator;%0A%0Aimport com.google.auto.value.AutoValue;%0A%0A/** An interval of time which a beacon has or hasn't been observed. */%0A@AutoValue%0Apublic abstract class observedInterval %7B%0A%0A    public abstract int start();%0A    public abstract int end();%0A    public abstract boolean observed();%0A    /** Returns the duration of the interval. */%0A    public int duration()%7B%0A        return end() - start() + 1;%0A    %7D%0A%0A    @AutoValue.Builder%0A    public abstract static class Builder %7B%0A        public abstract Builder setStart(int start);%0A        public abstract Builder setEnd(int end);%0A        public abstract Builder setObserved(boolean observed);%0A        public abstract boolean observed();%0A        public abstract observedInterval build();%0A    %7D%0A%7D%0A

Add the class observedInterval.