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