/* BatteryProfile.java Copyright (c) 2014 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.profile; import android.content.Intent; import android.os.Bundle; import org.deviceconnect.profile.BatteryProfileConstants; /** * Battery プロファイル. * * <p> * スマートデバイスのバッテリー情報を提供するAPI.<br> * バッテリー情報を提供するデバイスプラグインは当クラスを継承し、対応APIを実装すること。 * </p> * * @deprecated * swagger定義ファイルで定数を管理することになったので、このクラスは使用しないこととする。 * プロファイルを実装する際は本クラスではなく、{@link DConnectProfile} クラスを継承すること。 * * @author NTT DOCOMO, INC. */ public abstract class BatteryProfile extends DConnectProfile implements BatteryProfileConstants { @Override public final String getProfileName() { return PROFILE_NAME; } // ------------------------------------ // セッターメソッド群 // ------------------------------------ /** * レスポンスに充電状態のフラグを設定する. * * @param response レスポンスパラメータ * @param charging 充電状態フラグ */ public static void setCharging(final Intent response, final boolean charging) { response.putExtra(PARAM_CHARGING, charging); } /** * バッテリーパラメータに充電状態のフラグを設定する. * * @param battery バッテリーパラメータ * @param charging 充電状態フラグ */ public static void setCharging(final Bundle battery, final boolean charging) { battery.putBoolean(PARAM_CHARGING, charging); } /** * レスポンスに完全充電までの時間(秒)を設定する. * * @param response レスポンスパラメータ * @param chargingTime 完全充電までの時間(秒) */ public static void setChargingTime(final Intent response, final double chargingTime) { if (chargingTime < 0) { throw new IllegalArgumentException("Charging time must be greater than and equals to 0."); } response.putExtra(PARAM_CHARGING_TIME, chargingTime); } /** * バッテリーパラメータに完全充電までの時間(秒)を設定する. * * @param battery バッテリーパラメータ * @param chargingTime 完全充電までの時間(秒) */ public static void setChargingTime(final Bundle battery, final double chargingTime) { if (chargingTime < 0) { throw new IllegalArgumentException("Charging time must be greater than and equals to 0."); } battery.putDouble(PARAM_CHARGING_TIME, chargingTime); } /** * レスポンスに完全放電までの時間(秒)を設定する. * * @param response レスポンスパラメータ * @param dischargingTime 完全放電までの時間(秒) */ public static void setDischargingTime(final Intent response, final double dischargingTime) { if (dischargingTime < 0) { throw new IllegalArgumentException("Discharging time must be greater than and equals to 0."); } response.putExtra(PARAM_DISCHARGING_TIME, dischargingTime); } /** * レスポンスに完全放電までの時間(秒)を設定する. * * @param battery バッテリーパラメータ * @param dischargingTime 完全放電までの時間(秒) */ public static void setDischargingTime(final Bundle battery, final double dischargingTime) { if (dischargingTime < 0) { throw new IllegalArgumentException("Discharging time must be greater than and equals to 0."); } battery.putDouble(PARAM_DISCHARGING_TIME, dischargingTime); } /** * レスポンスにバッテリー残量を設定する. * * @param response レスポンスパラメータ * @param level バッテリー残量。0 ~ 1.0。 */ public static void setLevel(final Intent response, final double level) { if (level < 0 || level > 1) { throw new IllegalArgumentException("Level must be between 0 and 1."); } response.putExtra(PARAM_LEVEL, level); } /** * レスポンスにバッテリー残量を設定する. * * @param battery バッテリーパラメータ * @param level バッテリー残量。0 ~ 1.0。 */ public static void setLevel(final Bundle battery, final double level) { if (level < 0 || level > 1) { throw new IllegalArgumentException("Level must be between 0 and 1."); } battery.putDouble(PARAM_LEVEL, level); } /** * メッセージにバッテリー情報を設定する. * * @param message イベントメッセージ * @param battery バッテリー情報 */ public static void setBattery(final Intent message, final Bundle battery) { message.putExtra(PARAM_BATTERY, battery); } }