// // Copyright 2017 Filippo "Fil" Bergamo // // This file is part of RepWifiApp. // // RepWifiApp is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // RepWifiApp is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with RepWifiApp. If not, see . // // ******************************************************************** package fil.libre.repwifiapp.helpers; import java.io.Serializable; public class ConnectionStatus implements Serializable{ /** * */ private static final long serialVersionUID = 1L; public static final String STATUS_CONNECTED = "COMPLETED"; public static final String STATUS_INACTIVE = "INACTIVE"; public static final String STATUS_DISCONNECTED = "DISCONNECTED"; public static final String STATUS_UNDEFINED = "UNDEFINED"; public String status; public String SSID; public String BSSID; public String IP; private static final String F_SEP = "="; private static final String KeyStatus = "wpa_state"; private static final String KeySSID = "ssid"; private static final String KeyBSSID = "bssid"; private static final String KeyIP = "ip_address"; public static ConnectionStatus parseWpaCliOutput(String wpaCliOutput){ if (wpaCliOutput == null){ return null; } if (wpaCliOutput.trim().length() == 0){ return null; } String[] lines = wpaCliOutput.split("\n"); ConnectionStatus s = new ConnectionStatus(); for(String line : lines){ if (line.trim().equals("")){ continue; } String[] fields = line.split(F_SEP); if(fields.length < 2){ continue; } String key = fields[0]; String val = fields[1]; if (key.equals(KeyBSSID)){ s.BSSID = val; } else if (key.equals(KeySSID)){ s.SSID = val; } else if (key.equals(KeyStatus)){ s.status = val; } else if (key.equals(KeyIP)){ s.IP = val; } } return s; } public boolean isConnected(){ if (this.status == null){ return false; } if (this.status.equals(STATUS_CONNECTED)){ return true; }else{ return false; } } }