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