onInit method
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
Implementation
@override
void onInit() async {
super.onInit();
updatedData();
serverNameTextController = TextEditingController();
rtmpUrlTextController = TextEditingController();
rtmpKeyTextController = TextEditingController();
etDurationController=TextEditingController();
etQuestionController=TextEditingController();
etOptionsControllers.clear();
etOptionsControllers.add(TextEditingController());
etOptionsControllers.add(TextEditingController());
// etOptionsController=TextEditingController();
listenToNotifications();
if( Platform.isAndroid) {
await GetStorage.init();
}
if (showConfirmation) {
EnxRtc.getPreview();
// Give preview time to initialize, then increment counter to force widget rebuild
// Try multiple times to ensure preview shows
Future.delayed(const Duration(milliseconds: 300), () {
previewInitCounter.value++;
isSelect.refresh();
});
Future.delayed(const Duration(milliseconds: 800), () {
previewInitCounter.value++;
isSelect.refresh();
});
Future.delayed(const Duration(milliseconds: 1500), () {
previewInitCounter.value++;
isSelect.refresh();
});
} else {
await configureRoom();
}
tabController = TabController(length: 3, vsync: this);
tabController.addListener(() {
currentTabIndex.value = tabController.index;
});
}