init method
Future<void>
init({
- SaveManager? saveManager,
- bool isAutoStart = true,
- bool isLogCurl = true,
- List<
OpenType> openTypes = const [OpenType.shake, OpenType.longPress, OpenType.button], - int? waitTurnOnTime,
- Future<
String?> sendText({})?, - ValueFromResponse? valueFromResponse,
Initializes the API logger with configuration options.
Parameters:
saveManager: Optional. The SaveManager to use for persistence. Defaults to FileSaveManager.isAutoStart: Optional. Whether to auto-start the logger. Defaults to true.isLogCurl: Optional. Whether to log curl commands. Defaults to true.openTypes: Optional. List of OpenType triggers for opening the logger. Defaults to shake, longPress, button.waitTurnOnTime: Optional. Time in milliseconds to wait for enabling/disabling logger via shake. Defaults to 8000.sendText: Optional. Function to send text (e.g., via email).navigatorKey: Optional. The GlobalKey for navigation.valueFromResponse: Optional. Function to extract values from responses.
Returns: A Future that completes when initialization is done.
Implementation
Future<void> init({
SaveManager? saveManager,
bool isAutoStart = true,
bool isLogCurl = true,
List<OpenType> openTypes = const [
OpenType.shake,
OpenType.longPress,
OpenType.button
],
int? waitTurnOnTime,
Future<String?> Function({
required String body,
required String title,
required String email,
})? sendText,
GlobalKey<NavigatorState>? navigatorKey,
ValueFromResponse? valueFromResponse,
}) async {
saveManager ??= FileSaveManager();
_instance.saveManager = saveManager;
this.waitTurnOnTime = waitTurnOnTime ?? 8000;
this.openTypes = openTypes;
this.isLogCurl = isLogCurl;
if (valueFromResponse != null) {
this.valueFromResponse = valueFromResponse;
}
_sendText = sendText;
this.navigatorKey = navigatorKey;
getSendEmailsFromCache();
if (!isAutoStart) {
if (await _instance.saveManager.getBool(turnOnLoggerKey) != true) {
return;
}
}
await start();
}