package org.deviceconnect.android.deviceplugin.pebble.service;
import android.bluetooth.BluetoothDevice;
import org.deviceconnect.android.deviceplugin.pebble.PebbleDeviceService;
import org.deviceconnect.android.deviceplugin.pebble.profile.PebbleBatteryProfile;
import org.deviceconnect.android.deviceplugin.pebble.profile.PebbleCanvasProfile;
import org.deviceconnect.android.deviceplugin.pebble.profile.PebbleDeviceOrientationProfile;
import org.deviceconnect.android.deviceplugin.pebble.profile.PebbleKeyEventProfile;
import org.deviceconnect.android.deviceplugin.pebble.profile.PebbleNotificationProfile;
import org.deviceconnect.android.deviceplugin.pebble.profile.PebbleSettingProfile;
import org.deviceconnect.android.deviceplugin.pebble.profile.PebbleVibrationProfile;
import org.deviceconnect.android.service.DConnectService;
import java.util.Locale;
public class PebbleService extends DConnectService {
/**
* サービスIDのプレフィックス.
*/
public static final String PREFIX_SERVICE_ID = "Pebble";
public PebbleService(final BluetoothDevice device, final PebbleDeviceService deviceService) {
super(createServiceId(device));
setName(device.getName());
setNetworkType(NetworkType.BLUETOOTH);
addProfile(new PebbleNotificationProfile());
addProfile(new PebbleDeviceOrientationProfile(deviceService));
addProfile(new PebbleVibrationProfile());
addProfile(new PebbleBatteryProfile(deviceService));
addProfile(new PebbleSettingProfile());
addProfile(new PebbleCanvasProfile());
addProfile(new PebbleKeyEventProfile(deviceService));
}
public static String createServiceId(final BluetoothDevice device) {
return createServiceId(device.getAddress());
}
public static String createServiceId(final String macAddress) {
String serviceId = macAddress.replace(":", "")
.toLowerCase(Locale.getDefault());
return PREFIX_SERVICE_ID + serviceId;
}
}