init method

Future<void> init({
  1. SaveManager? saveManager,
  2. bool isAutoStart = true,
  3. bool isLogCurl = true,
  4. List<OpenType> openTypes = const [OpenType.shake, OpenType.longPress, OpenType.button],
  5. int? waitTurnOnTime,
  6. Future<String?> sendText({
    1. required String body,
    2. required String email,
    3. required String title,
    })?,
  7. GlobalKey<NavigatorState>? navigatorKey,
  8. 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();
}