/* * AndFHEM - Open Source Android application to control a FHEM home automation * server. * * Copyright (c) 2011, Matthias Klass or third-party contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors. All third-party contributions are * distributed under license by Red Hat Inc. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU GENERAL PUBLIC LICENSE, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU GENERAL PUBLIC LICENSE * for more details. * * You should have received a copy of the GNU GENERAL PUBLIC LICENSE * along with this distribution; if not, write to: * Free Software Foundation, Inc. * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ package li.klass.fhem.behavior.util.vol; import li.klass.fhem.domain.core.FhemDevice; import li.klass.fhem.domain.setlist.typeEntry.SliderSetListEntry; import li.klass.fhem.util.ValueExtractUtil; import static li.klass.fhem.util.ValueExtractUtil.onOffToTrueFalse; public class VolumeUtilBehavior { public static float volumeFor(FhemDevice fhemDevice) { String volume = fhemDevice.getXmlListDevice().getStates().get("volume").getValue(); SliderSetListEntry volumeSetList = (SliderSetListEntry) fhemDevice.getSetList().get("volume"); if (volume.equalsIgnoreCase("on")) { return volumeSetList.getStop(); } else if (volume.equalsIgnoreCase("off")) { return volumeSetList.getStart(); } return ValueExtractUtil.extractLeadingInt(volume); } public static boolean isMuted(FhemDevice fhemDevice) { String mute = fhemDevice.getXmlListDevice().getStates().get("mute").getValue(); return onOffToTrueFalse(mute); } }