/* LinkingBeaconUtil.java Copyright (c) 2016 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.deviceplugin.linking.beacon; import org.deviceconnect.android.deviceplugin.linking.beacon.data.LinkingBeacon; public final class LinkingBeaconUtil { public static final String LINKING_PACKAGE_NAME = "com.nttdocomo.android.smartdeviceagent"; public static final String BEACON_SERVICE_NAME = "com.nttdocomo.android.smartdeviceagent.beacon.BeaconService"; public static final String ACTION_START_BEACON_SCAN = ".sda.action.START_BEACON_SCAN"; public static final String ACTION_STOP_BEACON_SCAN = ".sda.action.STOP_BEACON_SCAN"; public static final String EXTRA_SERVICE_ID = ".sda.extra.SERVICE_ID"; public static final String EXTRA_SCAN_MODE = ".sda.extra.SCAN_MODE"; public static final String ACTION_BEACON_SCAN_RESULT = "com.nttdocomo.android.smartdeviceagent.action.BEACON_SCAN_RESULT"; public static final String ACTION_BEACON_SCAN_STATE = "com.nttdocomo.android.smartdeviceagent.action.BEACON_SCAN_STATE"; public static final String SCAN_STATE = "com.nttdocomo.android.smartdeviceagent.extra.SCAN_STATE"; public static final String DETAIL = "com.nttdocomo.android.smartdeviceagent.extra.DETAIL"; public static final String TIME_STAMP = "com.nttdocomo.android.smartdeviceagent.extra.TIMESTAMP"; public static final String VENDOR_ID = "com.nttdocomo.android.smartdeviceagent.extra.VENDOR_ID"; public static final String EXTRA_ID = "com.nttdocomo.android.smartdeviceagent.extra.EXTRA_ID"; public static final String VERSION = "com.nttdocomo.android.smartdeviceagent.extra.VERSION"; public static final String RSSI = "com.nttdocomo.android.smartdeviceagent.extra.RSSI"; public static final String TX_POWER = "com.nttdocomo.android.smartdeviceagent.extra.TX_POWER"; public static final String DISTANCE = "com.nttdocomo.android.smartdeviceagent.extra.DISTANCE"; public static final String TEMPERATURE = "com.nttdocomo.android.smartdeviceagent.extra.SERVICE_ID_1"; public static final String HUMIDITY = "com.nttdocomo.android.smartdeviceagent.extra.SERVICE_ID_2"; public static final String ATMOSPHERIC_PRESSURE = "com.nttdocomo.android.smartdeviceagent.extra.SERVICE_ID_3"; public static final String LOW_BATTERY = "com.nttdocomo.android.smartdeviceagent.extra.SERVICE_ID_4_1"; public static final String BATTERY_LEVEL = "com.nttdocomo.android.smartdeviceagent.extra.SERVICE_ID_4_2"; public static final String BUTTON_ID = "com.nttdocomo.android.smartdeviceagent.extra.SERVICE_ID_5"; public static final String RAW_DATA = "com.nttdocomo.android.smartdeviceagent.extra.SERVICE_ID_15"; public static final String PREFIX = "linking_beacon"; public static final String SEPARATOR = "-"; public enum ScanState { RESULT_OK(0), RESULT_NG(1); private int mValue; ScanState(int value) { mValue = value; } public int getValue() { return mValue; } public static ScanState valueOf(int value) { for (ScanState state : values()) { if (state.getValue() == value) { return state; } } return RESULT_NG; } } public enum ScanDetail { DETAIL_OK(0), DETAIL_TIMEOUT(1), DETAIL_META_DATA_NONE(2), DETAIL_BT_DISABLED(3), DETAIL_SDA_DISABLED(4), DETAIL_PERMISSION_DENIED(5), DETAIL_UNKNOWN(6); private int mValue; ScanDetail(int value) { mValue = value; } public int getValue() { return mValue; } public static ScanDetail valueOf(int value) { for (ScanDetail detail : values()) { if (detail.getValue() == value) { return detail; } } return DETAIL_UNKNOWN; } } public enum ScanMode { HIGH(0), NORMAL(1), LOW(2); private int mValue; ScanMode(int value) { mValue = value; } public int getValue() { return mValue; } public static ScanMode valueOf(int value) { for (ScanMode mode : values()) { if (mode.getValue() == value) { return mode; } } return NORMAL; } } private LinkingBeaconUtil() { } public static String createServiceIdFromLinkingBeacon(final LinkingBeacon beacon) { return PREFIX + SEPARATOR + beacon.getVendorId() + SEPARATOR + beacon.getExtraId(); } }