1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-08-03 20:43:09 +02:00
Gadgetbridge/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleCoordinator.java

86 lines
2.8 KiB
Java
Raw Normal View History

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;
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
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<? extends Activity> getPairingActivity() {
return null;
}
public Class<? extends Activity> getPrimaryActivity() {
return AppManagerActivity.class;
}
@Override
public SampleProvider getSampleProvider() {
Prefs prefs = GBApplication.getPrefs();
int activityTracker = Integer.parseInt(prefs.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;
}
}