mirror of
https://github.com/jonasbark/swiftcontrol.git
synced 2026-02-18 00:17:40 +01:00
51 lines
1.3 KiB
Dart
51 lines
1.3 KiB
Dart
import 'package:bike_control/utils/keymap/apps/biketerra.dart';
|
|
import 'package:bike_control/utils/keymap/apps/openbikecontrol.dart';
|
|
import 'package:bike_control/utils/keymap/apps/rouvy.dart';
|
|
import 'package:bike_control/utils/keymap/apps/training_peaks.dart';
|
|
import 'package:bike_control/utils/keymap/apps/zwift.dart';
|
|
import 'package:bike_control/utils/requirements/multi.dart';
|
|
|
|
import '../keymap.dart';
|
|
import 'custom_app.dart';
|
|
import 'my_whoosh.dart';
|
|
|
|
enum OpenBikeProtocolSupport {
|
|
ble,
|
|
network,
|
|
}
|
|
|
|
abstract class SupportedApp {
|
|
final List<Target> compatibleTargets;
|
|
final String packageName;
|
|
final String name;
|
|
final Keymap keymap;
|
|
final bool supportsZwiftEmulation;
|
|
final List<OpenBikeProtocolSupport> supportsOpenBikeProtocol;
|
|
final bool star;
|
|
|
|
const SupportedApp({
|
|
required this.name,
|
|
required this.packageName,
|
|
required this.keymap,
|
|
required this.compatibleTargets,
|
|
required this.supportsZwiftEmulation,
|
|
this.supportsOpenBikeProtocol = const [],
|
|
this.star = false,
|
|
});
|
|
|
|
static final List<SupportedApp> supportedApps = [
|
|
MyWhoosh(),
|
|
Zwift(),
|
|
TrainingPeaks(),
|
|
Biketerra(),
|
|
Rouvy(),
|
|
OpenBikeControl(),
|
|
CustomApp(),
|
|
];
|
|
|
|
@override
|
|
String toString() {
|
|
return runtimeType.toString();
|
|
}
|
|
}
|