package org.microg.networklocation.data; public class WifiSpec implements PropSpec { private final MacAddress mac; private int channel; private int frequency; private int signal; public WifiSpec(MacAddress mac) { this.mac = mac; } public WifiSpec(MacAddress mac, int frequency, int signal) { this.mac = mac; this.frequency = frequency; this.signal = signal; } public WifiSpec(MacAddress mac, int channel) { this.mac = mac; this.channel = channel; } @Override public byte[] getIdentBlob() { byte[] bytes = new byte[10]; bytes[0] = 'w'; bytes[1] = 'i'; bytes[2] = 'f'; bytes[3] = 'i'; for(int i = 0; i < 6; ++i) { bytes[i+4] = (byte) mac.getBytes()[i]; } return bytes; } public MacAddress getMac() { return mac; } @Override public String toString() { return "WifiSpec{" + "mac=" + mac + '}'; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } WifiSpec wifiSpec = (WifiSpec) o; if (mac != null ? !mac.equals(wifiSpec.mac) : wifiSpec.mac != null) { return false; } return true; } @Override public int hashCode() { return mac != null ? mac.hashCode() : 0; } }