package nodomain.freeyourgadget.gadgetbridge.devices.idasen; import android.app.Activity; import androidx.annotation.NonNull; import java.util.regex.Pattern; import nodomain.freeyourgadget.gadgetbridge.GBException; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.Device; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.devices.idasen.IdasenDeviceSupport; public class IdasenCoordinator extends AbstractBLEDeviceCoordinator { @Override protected void deleteDevice(@NonNull GBDevice gbDevice, @NonNull Device device, @NonNull DaoSession session) throws GBException { } @Override public String getManufacturer() { return "IKEA"; } @Override protected Pattern getSupportedDeviceName() { return Pattern.compile("Desk 1000", Pattern.CASE_INSENSITIVE); } @Override public int getDeviceNameResource() { return R.string.devicetype_idasen; } @NonNull @Override public Class getDeviceSupportClass() { return IdasenDeviceSupport.class; } @Override public DeviceSpecificSettingsCustomizer getDeviceSpecificSettingsCustomizer(final GBDevice device) { return new IdasenSettingsCustomizer(); } @Override public int getBondingStyle() { return BONDING_STYLE_BOND; } @Override public boolean supportsAppsManagement(final GBDevice device) { return true; } @Override public Class getAppsManagementActivity() { return IdasenControlActivity.class; } @Override public int[] getSupportedDeviceSpecificSettings(GBDevice device) { return new int[]{ R.xml.devicesettings_idasen }; } }