10d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang/*
20d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * Copyright (C) 2014 The Android Open Source Project
30d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang *
40d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * Licensed under the Apache License, Version 2.0 (the "License");
50d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * you may not use this file except in compliance with the License.
60d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * You may obtain a copy of the License at
70d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang *
80d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang *      http://www.apache.org/licenses/LICENSE-2.0
90d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang *
100d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * Unless required by applicable law or agreed to in writing, software
110d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * distributed under the License is distributed on an "AS IS" BASIS,
120d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * See the License for the specific language governing permissions and
140d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * limitations under the License.
150d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang */
160d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
170d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wangpackage android.bluetooth.le;
180d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
190d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wangimport android.annotation.SystemApi;
200d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wangimport java.util.List;
210d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
220d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang/**
230d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * A special scan filter that lets the client decide how the scan record should be stored.
240d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang *
250d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * @hide
260d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang */
270d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang@SystemApi
280d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wangpublic final class TruncatedFilter {
290d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    private final ScanFilter mFilter;
300d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    private final List<ResultStorageDescriptor> mStorageDescriptors;
310d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
320d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    /**
330d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * Constructor for {@link TruncatedFilter}.
340d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     *
350d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * @param filter Scan filter of the truncated filter.
360d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * @param storageDescriptors Describes how the scan should be stored.
370d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     */
380d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    public TruncatedFilter(ScanFilter filter, List<ResultStorageDescriptor> storageDescriptors) {
390d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang        mFilter = filter;
400d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang        mStorageDescriptors = storageDescriptors;
410d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    }
420d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
430d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    /**
440d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * Returns the scan filter.
450d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     */
460d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    public ScanFilter getFilter() {
470d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang        return mFilter;
480d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    }
490d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
500d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    /**
510d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * Returns a list of descriptor for scan result storage.
520d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     */
530d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    public List<ResultStorageDescriptor> getStorageDescriptors() {
540d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang        return mStorageDescriptors;
550d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    }
560d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
570d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
580d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang}
59