Android Open Source - rcdroid Battery Sensor Handler






From Project

Back to project page rcdroid.

License

The source code is released under:

Copyright (c) 2013, Jamie Furness (jamie@jamierf.co.uk) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following...

If you think the Android project rcdroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jamierf.rcdroid.logic.sensors;
// w  w  w . j  a  v a 2 s  .  c om
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableMap;
import com.jamierf.rcdroid.http.WebController;
import com.jamierf.rcdroid.http.Packet;
import com.jamierf.rcdroid.input.api.BatteryStatus;
import com.jamierf.rcdroid.input.sensor.BatterySensor;
import com.jamierf.rcdroid.input.sensor.listener.SensorListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;

public class BatterySensorHandler implements SensorListener<BatterySensor> {

    private static final Logger LOG = LoggerFactory.getLogger(BatterySensorHandler.class);

    private final WebController web;

    public BatterySensorHandler(WebController web) {
        this.web = web;
    }

    @Override
    public void onSensorChanged(BatterySensor sensor) {
        final Optional<BatteryStatus> value = sensor.getValue();
        if (!value.isPresent())
            return;

        final BatteryStatus battery = value.get();
        final long timestamp = sensor.getTimestamp();

        try {
            web.send(new Packet(Packet.Type.BATTERY_UPDATED, ImmutableMap.<String, Object>of(
                    "charging", battery.isCharging(),
                    "level", battery.getLevel(),
                    "temperature", battery.getTemperature(),
                    "voltage", battery.getVoltage()
            ), timestamp));
        } catch (IOException e) {
            LOG.warn("Failed to send battery sensor update", e);
        }
    }
}




Java Source Code List

com.jamierf.rcdroid.CarActivity.java
com.jamierf.rcdroid.CarService.java
com.jamierf.rcdroid.config.CarConfig.java
com.jamierf.rcdroid.config.ServoConfig.java
com.jamierf.rcdroid.config.WebUIConfig.java
com.jamierf.rcdroid.http.Packet.java
com.jamierf.rcdroid.http.WebController.java
com.jamierf.rcdroid.http.handler.AssetResourceHandler.java
com.jamierf.rcdroid.http.handler.ControlProtocolHandler.java
com.jamierf.rcdroid.http.handler.JsonPOJOHandler.java
com.jamierf.rcdroid.http.listener.ClientListener.java
com.jamierf.rcdroid.http.listener.PacketListener.java
com.jamierf.rcdroid.input.SensorController.java
com.jamierf.rcdroid.input.api.BatteryStatus.java
com.jamierf.rcdroid.input.api.Coordinate.java
com.jamierf.rcdroid.input.sensor.AbstractSensor.java
com.jamierf.rcdroid.input.sensor.AccelerationSensor.java
com.jamierf.rcdroid.input.sensor.BatterySensor.java
com.jamierf.rcdroid.input.sensor.LocationSensor.java
com.jamierf.rcdroid.input.sensor.RotationSensor.java
com.jamierf.rcdroid.input.sensor.listener.SensorListener.java
com.jamierf.rcdroid.logic.CarEngine.java
com.jamierf.rcdroid.logic.packets.AbstractServoHandler.java
com.jamierf.rcdroid.logic.packets.PlayAlarmRequestHandler.java
com.jamierf.rcdroid.logic.packets.SetRotationRequestHandler.java
com.jamierf.rcdroid.logic.packets.SetSpeedRequestHandler.java
com.jamierf.rcdroid.logic.sensors.AccelerationSensorHandler.java
com.jamierf.rcdroid.logic.sensors.BatterySensorHandler.java
com.jamierf.rcdroid.logic.sensors.LocationSensorHandler.java
com.jamierf.rcdroid.logic.sensors.RotationSensorHandler.java