1f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham/* 2f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * Copyright (C) 2015 The Android Open Source Project 3f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * 4f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * Licensed under the Apache License, Version 2.0 (the "License"); 5f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * you may not use this file except in compliance with the License. 6f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * You may obtain a copy of the License at 7f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * 8f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * http://www.apache.org/licenses/LICENSE-2.0 9f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * 10f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * Unless required by applicable law or agreed to in writing, software 11f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * distributed under the License is distributed on an "AS IS" BASIS, 12f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * See the License for the specific language governing permissions and 14f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham * limitations under the License. 15f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham */ 16f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 17f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadhampackage com.android.bluetooth.gatt; 18f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadhamimport android.annotation.Nullable; 19f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 20f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham/** @hide */ 21f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadhampublic class AdvtFilterOnFoundOnLostInfo { 22f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mClientIf; 23f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 24f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mAdvPktLen; 25f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham @Nullable 26f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private byte[] mAdvPkt; 27f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 28f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mScanRspLen; 29f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 30f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham @Nullable 31f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private byte[] mScanRsp; 32f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 33f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mFiltIndex; 34f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mAdvState; 35f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mAdvInfoPresent; 36f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private String mAddress; 37f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 38f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mAddrType; 39f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mTxPower; 40f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mRssiValue; 41f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham private int mTimeStamp; 42f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 43f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public AdvtFilterOnFoundOnLostInfo(int client_if, int adv_pkt_len, byte[] adv_pkt, 44f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham int scan_rsp_len, byte[] scan_rsp, int filt_index, int adv_state, 45f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham int adv_info_present, String address, int addr_type, int tx_power, 46f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham int rssi_value, int time_stamp){ 47f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 48f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mClientIf = client_if; 49f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mAdvPktLen = adv_pkt_len; 50f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mAdvPkt = adv_pkt; 51f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mScanRspLen = scan_rsp_len; 52f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mScanRsp = scan_rsp; 53f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mFiltIndex = filt_index; 54f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mAdvState = adv_state; 55f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mAdvInfoPresent = adv_info_present; 56f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mAddress = address; 57f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mAddrType = addr_type; 58f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mTxPower = tx_power; 59f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mRssiValue = rssi_value; 60f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham mTimeStamp = time_stamp; 61f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 62f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 63f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getClientIf () { 64f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mClientIf; 65f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 66f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 67f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getFiltIndex () { 68f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mFiltIndex; 69f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 70f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 71f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getAdvState () { 72f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mAdvState; 73f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 74f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 75f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getTxPower () { 76f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mTxPower; 77f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 78f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 79f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getTimeStamp () { 80f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mTimeStamp; 81f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 82f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 83f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getRSSIValue () { 84f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mRssiValue; 85f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 86f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 87f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getAdvInfoPresent () { 88f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mAdvInfoPresent; 89f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 90f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 91f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public String getAddress() { 92f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mAddress; 93f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 94f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 95f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getAddressType() { 96f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mAddrType; 97f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 98f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 99f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public byte[] getAdvPacketData() { 100f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mAdvPkt; 101f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 102f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 103f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getAdvPacketLen() { 104f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mAdvPktLen; 105f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 106f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 107f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public byte[] getScanRspData() { 108f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mScanRsp; 109f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 110f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 111f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham public int getScanRspLen() { 112f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham return mScanRspLen; 113f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham } 114f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 1152e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham public byte [] getResult() { 1162e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham int resultLength = mAdvPkt.length + ((mScanRsp != null) ? mScanRsp.length : 0); 1172e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham byte result[] = new byte[resultLength]; 1182e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham System.arraycopy(mAdvPkt, 0, result, 0, mAdvPkt.length); 1192e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham if (mScanRsp != null) { 1202e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham System.arraycopy(mScanRsp, 0, result, mAdvPkt.length, mScanRsp.length); 1212e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham } 1222e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham return result; 1232e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham } 1242e85ea37c1ba495d3f0fd702f0a3920f3faf2848Prerepa Viswanadham 125f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham} 126f0026eb09f5def1252fde42040861fc2252c29a9Prerepa Viswanadham 127