package nodomain.freeyourgadget.gadgetbridge.devices.pebble; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.net.Uri; import android.preference.PreferenceManager; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.activities.AppManagerActivity; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; public class PebbleCoordinator extends AbstractDeviceCoordinator { public PebbleCoordinator() { } @Override public boolean supports(GBDeviceCandidate candidate) { return candidate.getName().startsWith("Pebble"); } @Override public boolean supports(GBDevice device) { return getDeviceType().equals(device.getType()); } @Override public DeviceType getDeviceType() { return DeviceType.PEBBLE; } @Override public Class getPairingActivity() { return null; } public Class getPrimaryActivity() { return AppManagerActivity.class; } @Override public SampleProvider getSampleProvider() { SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(GBApplication.getContext()); int activityTracker = Integer.parseInt(sharedPrefs.getString("pebble_activitytracker", Integer.toString(SampleProvider.PROVIDER_PEBBLE_HEALTH))); switch (activityTracker) { case SampleProvider.PROVIDER_PEBBLE_HEALTH: return new HealthSampleProvider(); case SampleProvider.PROVIDER_PEBBLE_MISFIT: return new MisfitSampleProvider(); case SampleProvider.PROVIDER_PEBBLE_MORPHEUZ: return new MorpheuzSampleProvider(); case SampleProvider.PROVIDER_PEBBLE_GADGETBRIDGE: return new PebbleGadgetBridgeSampleProvider(); default: return new HealthSampleProvider(); } } @Override public InstallHandler findInstallHandler(Uri uri, Context context) { PBWInstallHandler installHandler = new PBWInstallHandler(uri, context); return installHandler.isValid() ? installHandler : null; } @Override public boolean supportsActivityDataFetching() { return false; } @Override public boolean supportsScreenshots() { return true; } @Override public boolean supportsAlarmConfiguration() { return false; } }