FlutterAndroidAuto constructor

FlutterAndroidAuto()

Creates an FlutterAndroidAuto and starts the connection.

Implementation

FlutterAndroidAuto() {
  if (defaultTargetPlatform != TargetPlatform.android) return;

  _eventBroadcast = _androidAutoController.eventChannel
      .receiveBroadcastStream()
      .listen((event) {
    final FAAChannelTypes receivedChannelType =
        EnumUtils.enumFromString(FAAChannelTypes.values, event['type']);

    switch (receivedChannelType) {
      case FAAChannelTypes.onAndroidAutoConnectionChange:
        final ConnectionStatusTypes connectionStatus =
            EnumUtils.enumFromString(
          ConnectionStatusTypes.values,
          event['data']['status'],
        );
        _connectionStatus = EnumUtils.stringFromEnum(
          connectionStatus.toString(),
        );
        if (_onAndroidAutoConnectionChange != null) {
          _onAndroidAutoConnectionChange!(connectionStatus);
        }
        break;
      case FAAChannelTypes.onListItemSelected:
        _androidAutoController.processFAAListItemSelectedChannel(
          event['data']['elementId'],
        );
        break;
      case FAAChannelTypes.onScreenBackButtonPressed:
        FlutterAndroidAutoController.templateHistory.removeWhere(
          (AATemplate item) => item.uniqueId == event['data']['elementId'],
        );
        break;
      default:
        break;
    }
  });
}