package net.astropenguin.loopdeck; /** Status of the device producing audio; unknown values remain distinct from zero. */ final class DeviceStatus { static final DeviceStatus UNKNOWN=new DeviceStatus(-1,false,-1,0); final int battery,volume,maxVolume; final boolean charging; DeviceStatus(int battery,boolean charging,int volume,int maxVolume) { this.battery=battery>=0 && battery<=100 ? battery : -1; this.charging=charging; this.maxVolume=Math.max(0,maxVolume); this.volume=volume>=0 && volume<=this.maxVolume ? volume : -1; } }