FlutterAndroidAuto constructor
FlutterAndroidAuto()
Implementation
FlutterAndroidAuto() {
if (defaultTargetPlatform != TargetPlatform.android) return;
_eventBroadcast = _androidAutoController.eventChannel
.receiveBroadcastStream()
.listen((event) async {
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 = connectionStatus.name;
_onAndroidAutoConnectionChange?.call(connectionStatus);
break;
case FAAChannelTypes.onListItemSelected:
await _androidAutoController.processFAAListItemSelectedChannel(
event['data']['elementId'],
);
break;
case FAAChannelTypes.onListSectionSelected:
_androidAutoController.processFAAListSectionSelectedChannel(
event['data']['elementId'],
event['data']['selectedIndex'],
);
break;
case FAAChannelTypes.onToggleCheckedChange:
_androidAutoController.processFAAToggleCheckedChangeChannel(
event['data']['elementId'],
event['data']['checked'],
);
break;
case FAAChannelTypes.onPaneActionPressed:
_androidAutoController.processFAAPaneActionPressedChannel(
event['data']['elementId'],
);
break;
case FAAChannelTypes.onScreenBackButtonPressed:
FlutterAndroidAutoController.templateHistory.removeWhere(
(AATemplate item) => item.uniqueId == event['data']['elementId'],
);
break;
case FAAChannelTypes.onAlertActionPressed:
_androidAutoController.processFAAAlertActionPressed(
event['data']['elementId'],
);
break;
case FAAChannelTypes.onPresentStateChanged:
final bool completed = event['data']['completed'] as bool? ?? false;
_androidAutoController.processFAAPresentStateChanged(
event['data']['elementId'],
completed,
);
break;
case FAAChannelTypes.onTabBarItemSelected:
break;
case FAAChannelTypes.onGridButtonPressed:
await _androidAutoController.processFAAGridButtonPressed(
event['data']['elementId'],
);
break;
default:
break;
}
});
}