package com.az.Location;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONObject;
import android.content.Context;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.util.Log;
public class WifiInfoManager {
private WifiManager wifiManager;
public WifiInfoManager(Context paramContext) {
this.wifiManager = (WifiManager) paramContext.getSystemService(Context.WIFI_SERVICE);
}
public List<WifiInfo> dump() {
if (!this.wifiManager.isWifiEnabled()) {
return new ArrayList<WifiInfo>();
}
android.net.wifi.WifiInfo wifiConnection = this.wifiManager.getConnectionInfo();
WifiInfo currentWIFI = null;
if (wifiConnection != null) {
String s = wifiConnection.getBSSID();
int i = wifiConnection.getRssi();
String s1 = wifiConnection.getSSID();
currentWIFI = new WifiInfo(s, i, s1);
}
ArrayList<WifiInfo> lsAllWIFI = new ArrayList<WifiInfo>();
if (currentWIFI != null) {
lsAllWIFI.add(currentWIFI);
}
List<ScanResult> lsScanResult = this.wifiManager.getScanResults();
for (ScanResult result : lsScanResult) {
WifiInfo scanWIFI = new WifiInfo(result);
if (!scanWIFI.equals(currentWIFI))
lsAllWIFI.add(scanWIFI);
}
return lsAllWIFI;
}
public boolean isWifiEnabled() {
return this.wifiManager.isWifiEnabled();
}
public JSONArray wifiInfo() {
JSONArray jsonArray = new JSONArray();
for (WifiInfo wifi : dump()) {
JSONObject localJSONObject = wifi.info();
jsonArray.put(localJSONObject);
}
return jsonArray;
}
public WifiManager wifiManager() {
return this.wifiManager;
}
public JSONArray wifiTowers() {
JSONArray jsonArray = new JSONArray();
try {
Iterator<WifiInfo> localObject = dump().iterator();
while (true) {
if (!(localObject).hasNext()) {
return jsonArray;
}
jsonArray.put(localObject.next().wifi_tower());
}
} catch (Exception localException) {
Log.e("location", localException.getMessage());
}
return jsonArray;
}
public class WifiInfo implements Comparable<WifiInfo> {
public int compareTo(WifiInfo wifiinfo) {
int i = wifiinfo.dBm;
int j = dBm;
return i - j;
}
public boolean equals(Object obj) {
boolean flag = false;
if (obj == this) {
flag = true;
return flag;
} else {
if (obj instanceof WifiInfo) {
WifiInfo wifiinfo = (WifiInfo) obj;
int i = wifiinfo.dBm;
int j = dBm;
if (i == j) {
String s = wifiinfo.bssid;
String s1 = bssid;
if (s.equals(s1)) {
flag = true;
return flag;
}
}
flag = false;
} else {
flag = false;
}
}
return flag;
}
public int hashCode() {
int i = dBm;
int j = bssid.hashCode();
return i ^ j;
}
public JSONObject info() {
JSONObject jsonobject = new JSONObject();
try {
String s = bssid;
jsonobject.put("mac", s);
String s1 = ssid;
jsonobject.put("ssid", s1);
int i = dBm;
jsonobject.put("dbm", i);
} catch (Exception ex) {
}
return jsonobject;
}
public JSONObject wifi_tower() {
JSONObject jsonobject = new JSONObject();
try {
String s = bssid;
jsonobject.put("mac_address", s);
int i = dBm;
jsonobject.put("signal_strength", i);
String s1 = ssid;
jsonobject.put("ssid", s1);
jsonobject.put("age", 0);
} catch (Exception ex) {
}
return jsonobject;
}
public final String bssid;
public final int dBm;
public final String ssid;
public WifiInfo(ScanResult scanresult) {
String s = scanresult.BSSID;
bssid = s;
int i = scanresult.level;
dBm = i;
String s1 = scanresult.SSID;
ssid = s1;
}
public WifiInfo(String s, int i, String s1) {
bssid = s;
dBm = i;
ssid = s1;
}
}
}