1e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills/*
2e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * Copyright (C) 2016 The Android Open Source Project
3e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills *
4e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * Licensed under the Apache License, Version 2.0 (the "License");
5e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * you may not use this file except in compliance with the License.
6e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * You may obtain a copy of the License at
7e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills *
8e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills *      http://www.apache.org/licenses/LICENSE-2.0
9e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills *
10e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * Unless required by applicable law or agreed to in writing, software
11e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * distributed under the License is distributed on an "AS IS" BASIS,
12e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * See the License for the specific language governing permissions and
14e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * limitations under the License.
15e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills */
16e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills
17e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Willspackage com.android.server.wifi.util;
18e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills
19e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Willsimport android.net.wifi.ScanResult;
20e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills
21e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Willsimport com.android.server.wifi.ScanDetail;
22e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Willsimport com.android.server.wifi.hotspot2.NetworkDetail;
23e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills
24e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills/**
25e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * Utility for converting a ScanResult to a ScanDetail.
26e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills * Only fields that are supported in ScanResult are copied.
27e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills */
28e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Willspublic class ScanDetailUtil {
29e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills    private ScanDetailUtil() { /* not constructable */ }
30e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills
31e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills    /**
32e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills     * This method should only be used when the informationElements field in the provided scan
33e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills     * result is filled in with the IEs from the beacon.
34e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills     */
35e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills    public static ScanDetail toScanDetail(ScanResult scanResult) {
36e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills        NetworkDetail networkDetail = new NetworkDetail(scanResult.BSSID,
37e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills                scanResult.informationElements, scanResult.anqpLines, scanResult.frequency);
38e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills        return new ScanDetail(scanResult, networkDetail, null);
39e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills    }
40e4e3b8cb884dd9e754a437ea6feac502191f1767Mitchell Wills}
41