package com.dji.sdk.sample.demo.battery;
import android.content.Context;
import com.dji.sdk.sample.R;
import com.dji.sdk.sample.internal.view.BasePushDataView;
import com.dji.sdk.sample.internal.controller.DJISampleApplication;
import dji.common.battery.BatteryState;
/**
* Class for getting the battery information.
*/
public class PushBatteryDataView extends BasePushDataView {
public PushBatteryDataView(Context context) {
super(context);
}
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
try {
DJISampleApplication.getProductInstance().getBattery().setStateCallback(new BatteryState.Callback() {
@Override
public void onUpdate(BatteryState djiBatteryState) {
stringBuffer.delete(0, stringBuffer.length());
stringBuffer.append("BatteryEnergyRemainingPercent: ").
append(djiBatteryState.getChargeRemainingInPercent()).
append("%\n");
stringBuffer.append("CurrentVoltage: ").
append(djiBatteryState.getVoltage()).append("mV\n");
stringBuffer.append("CurrentCurrent: ").
append(djiBatteryState.getCurrent()).append("mA\n");
showStringBufferResult();
}
});
} catch (Exception ignored) {
}
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
try {
DJISampleApplication.getProductInstance().getBattery().setStateCallback(null);
} catch (Exception ignored) {
}
}
@Override
public int getDescription() {
return R.string.battery_listview_push_info;
}
}