callTitle function
Returns a Widget building the title call information.
Implementation
Widget callTitle(CallController c) {
return Obx(() {
final bool isOutgoing =
(c.outgoing || c.state.value == OngoingCallState.local) && !c.started;
final bool isDialog = c.chat.value?.chat.value.isDialog == true;
final bool withDots =
c.state.value != OngoingCallState.active &&
(c.state.value == OngoingCallState.joining || isOutgoing);
final Map<String, dynamic> args = {'by': 'x'};
if (!isOutgoing && !isDialog) {
args['by'] = c.callerName;
}
final String state =
c.state.value == OngoingCallState.active
? c.duration.value.toString().split('.').first.padLeft(8, '0')
: c.state.value == OngoingCallState.joining
? 'label_call_joining'.l10n
: isOutgoing
? isDialog
? 'label_call_calling'.l10n
: 'label_call_connecting'.l10n
: c.withVideo == true
? 'label_video_call'.l10nfmt(args)
: 'label_audio_call'.l10nfmt(args);
return CallTitle(
title: c.chat.value?.title,
state: state,
withDots: withDots,
);
});
}