/* Class Bateria : Accedir a consultar l'estat de la bateria * Artur Nebot Garrigo * Llicència GPL * */ import java.io.*; import java.util.*; public class bateria { private static final String STATE="/proc/acpi/battery/BAT1/state"; private static final String INFO="/proc/acpi/battery/BAT1/info"; public static String getStatus() { String linea=""; String estat=""; String Fitxer=STATE; BufferedReader entrada; int i=0; int num; try { FileReader fr = new FileReader(Fitxer); entrada = new BufferedReader(fr); num=1; while((linea = entrada.readLine()) != null) { if (linea.substring(0,"charging state:".length()).equals("charging state:")) { estat=linea.substring(25,linea.length()); } } entrada.close(); } catch(java.io.FileNotFoundException fnfex) { return "-1"; } catch(java.io.IOException ioex) { return "-2"; } return (estat); } public static int getRemainingCapacity() { String linea=""; String prate=""; String Fitxer=STATE; BufferedReader entrada; int i=0; int num; try { FileReader fr = new FileReader(Fitxer); entrada = new BufferedReader(fr); num=1; while((linea = entrada.readLine()) != null) { if (linea.substring(0,"remaining capacity:".length()).equals("remaining capacity:")) { prate=linea.substring(25,linea.length()); do { i++; } while ( prate.charAt(i) != 109) ; // Lleig! prate=prate.substring(0,i); } } entrada.close(); } catch(java.io.FileNotFoundException fnfex) { return -1; } catch(java.io.IOException ioex) { return -1; } prate=prate.trim(); return Integer.valueOf(prate); } public static int getFullCapacity() { String linea=""; String prate=""; String Fitxer=INFO; BufferedReader entrada; int i=0; int num; try { FileReader fr = new FileReader(Fitxer); entrada = new BufferedReader(fr); num=1; while((linea = entrada.readLine()) != null) { if (linea.substring(0,"last full capacity:".length()).equals("last full capacity:")) { prate=linea.substring(25,linea.length()); do { i++; } while ( prate.charAt(i) != 109) ; // Lleig! prate=prate.substring(0,i); } } entrada.close(); } catch(java.io.FileNotFoundException fnfex) { return -1; } catch(java.io.IOException ioex) { return -1; } prate=prate.trim(); return Integer.valueOf(prate); } public static int getCharge() { return Math.round(((float)getRemainingCapacity()/(float)getFullCapacity())*100); } }