-
-
Save pyadav/4e5c2c2a3ea64f123c77db3a3f217c3c to your computer and use it in GitHub Desktop.
A wrapper class to provide battery information
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.content.Intent; | |
import android.content.IntentFilter; | |
import android.os.BatteryManager; | |
import com.mobyta.mobilewebdashboard.ThisApplication; | |
public class BatteryHelper { | |
private Intent mBatteryDataIntent; | |
public BatteryHelper() { | |
IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); | |
mBatteryDataIntent = ThisApplication.getInstance().registerReceiver(null, batteryLevelFilter); | |
} | |
public String getChargingMode() { | |
switch (mBatteryDataIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1)) { | |
case BatteryManager.BATTERY_PLUGGED_AC: | |
return "AC Power"; | |
case BatteryManager.BATTERY_PLUGGED_USB: | |
return "USB Cable"; | |
default: | |
return "None"; | |
} | |
} | |
public String getChargingState() { | |
switch (mBatteryDataIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -1)) { | |
case BatteryManager.BATTERY_STATUS_CHARGING: | |
return "Charginig"; | |
case BatteryManager.BATTERY_STATUS_DISCHARGING: | |
return "Discharging"; | |
case BatteryManager.BATTERY_STATUS_FULL: | |
return "Full"; | |
case BatteryManager.BATTERY_STATUS_NOT_CHARGING: | |
return "Not Charging"; | |
default: | |
return "Not Charging"; | |
} | |
} | |
public String getChargingPercentage() { | |
int rawlevel = mBatteryDataIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); | |
int scale = mBatteryDataIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); | |
int level = -1; | |
if (rawlevel >= 0 && scale > 0) { | |
level = (rawlevel * 100) / scale; | |
} | |
return String.valueOf(level); | |
} | |
public String getBatteryHealth() { | |
switch (mBatteryDataIntent.getIntExtra(BatteryManager.EXTRA_HEALTH, -1)) { | |
case BatteryManager.BATTERY_HEALTH_COLD: | |
return "Cold"; | |
case BatteryManager.BATTERY_HEALTH_DEAD: | |
return "Dead"; | |
case BatteryManager.BATTERY_HEALTH_GOOD: | |
return "Good"; | |
case BatteryManager.BATTERY_HEALTH_OVERHEAT: | |
return "Over Heat"; | |
case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE: | |
return "Over Voltage"; | |
case BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE: | |
return "Unspecified Failure"; | |
case BatteryManager.BATTERY_HEALTH_UNKNOWN: | |
return "Unknown"; | |
default: | |
return "Unknown Error"; | |
} | |
} | |
public String getTemperature() { | |
return String.valueOf((mBatteryDataIntent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0)) / 10); | |
} | |
public String getBatteryTechnology() { | |
return mBatteryDataIntent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment