restore method
restore the ZegoUIKitPrebuiltLiveAudioRoom from minimize
Implementation
bool restore(
BuildContext context, {
bool rootNavigator = true,
bool withSafeArea = false,
}) {
if (ZegoLiveAudioRoomMiniOverlayPageState.minimizing != state) {
ZegoLoggerService.logInfo(
'is not minimizing, ignore',
tag: 'audio room',
subTag: 'controller.minimize',
);
return false;
}
final minimizeData = private.minimizeData;
if (null == minimizeData) {
ZegoLoggerService.logError(
'prebuiltData is null',
tag: 'audio room',
subTag: 'controller.minimize',
);
return false;
}
ZegoLoggerService.logInfo(
'restore, '
'context:$context, '
'rootNavigator:$rootNavigator, '
'withSafeArea:$withSafeArea, ',
tag: 'audio room',
subTag: 'controller.minimize',
);
/// re-enter prebuilt call
ZegoLiveAudioRoomInternalMiniOverlayMachine().changeState(
ZegoLiveAudioRoomMiniOverlayPageState.inAudioRoom,
);
try {
Navigator.of(context, rootNavigator: rootNavigator).push(
MaterialPageRoute(builder: (context) {
final prebuiltAudioRoom = ZegoUIKitPrebuiltLiveAudioRoom(
appID: minimizeData.appID,
appSign: minimizeData.appSign,
userID: minimizeData.userID,
userName: minimizeData.userName,
roomID: minimizeData.roomID,
config: minimizeData.config,
events: minimizeData.events,
);
return withSafeArea
? SafeArea(
child: prebuiltAudioRoom,
)
: prebuiltAudioRoom;
}),
);
} catch (e) {
ZegoLoggerService.logError(
'navigator push to call page exception:$e',
tag: 'audio room',
subTag: 'controller.minimize',
);
return false;
}
return true;
}