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 android.os.Parcel;
210d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wangimport android.os.Parcelable;
220d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
230d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wangimport java.util.List;
240d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
250d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang/**
260d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * A special scan filter that lets the client decide how the scan record should be stored.
270d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang *
280d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang * @hide
290d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang */
300d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang@SystemApi
310d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wangpublic final class TruncatedFilter {
320d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    private final ScanFilter mFilter;
330d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    private final List<ResultStorageDescriptor> mStorageDescriptors;
340d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
350d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    /**
360d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * Constructor for {@link TruncatedFilter}.
370d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     *
380d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * @param filter Scan filter of the truncated filter.
390d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * @param storageDescriptors Describes how the scan should be stored.
400d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     */
410d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    public TruncatedFilter(ScanFilter filter, List<ResultStorageDescriptor> storageDescriptors) {
420d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang        mFilter = filter;
430d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang        mStorageDescriptors = storageDescriptors;
440d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    }
450d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
460d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    /**
470d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * Returns the scan filter.
480d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     */
490d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    public ScanFilter getFilter() {
500d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang        return mFilter;
510d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    }
520d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
530d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    /**
540d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     * Returns a list of descriptor for scan result storage.
550d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang     */
560d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    public List<ResultStorageDescriptor> getStorageDescriptors() {
570d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang        return mStorageDescriptors;
580d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang    }
590d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
600d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang
610d0df3ce258f569c76dc7c4b5250c4e50029d6e6Wei Wang}
62