init static method

Future init({
  1. required GlobalKey<NavigatorState> navigatorKey,
  2. ImageProvider<Object>? floatingToolImageProvider,
  3. required String floatingToolTextNetworkNameOrigin,
  4. required String floatingToolTextNetworkNameCurrent,
  5. required String floatingToolTextTargetNameOrigin,
  6. required String floatingToolTextTargetNameCurrent,
  7. required void onTap(),
  8. required void onLongPress(),
  9. required void onDoubleTap(),
  10. required bool overlayEntryShouldShowIfNil,
})

Implementation

static Future init({
  required GlobalKey<NavigatorState> navigatorKey,
  ImageProvider? floatingToolImageProvider, // 悬浮按钮上的图片
  required String floatingToolTextNetworkNameOrigin, // 悬浮按钮上的文本:此包的默认网络环境
  required String floatingToolTextNetworkNameCurrent, // 悬浮按钮上的文本:此包的当前网络环境
  required String floatingToolTextTargetNameOrigin, // 悬浮按钮上的文本:此包的默认发布网站
  required String floatingToolTextTargetNameCurrent, // 悬浮按钮上的文本:此包的当前发布网站
  required void Function() onTap, // 点击事件
  required void Function() onLongPress, // 长按事件
  required void Function() onDoubleTap, // 双击事件
  required bool overlayEntryShouldShowIfNil,
}) async {
  _globalKey = navigatorKey;
  _floatingToolImageProvider = floatingToolImageProvider;
  _floatingToolTextNetworkNameOrigin = floatingToolTextNetworkNameOrigin;
  _floatingToolTextNetworkNameCurrent = floatingToolTextNetworkNameCurrent;
  _floatingToolTextTargetNameOrigin = floatingToolTextTargetNameOrigin;
  _floatingToolTextTargetNameCurrent = floatingToolTextTargetNameCurrent;
  _onTap = onTap;
  _onLongPress = onLongPress;
  _onDoubleTap = onDoubleTap;

  PackageInfo packageInfo = await PackageInfo.fromPlatform();
  String version = packageInfo.version;

  _app_drag_floating_button_key =
      "_app_drag_floating_button_should_show_${version}";

  SharedPreferences prefs = await SharedPreferences.getInstance();
  _overlayEntryIsShow = prefs.getBool(_app_drag_floating_button_key);
  if (_overlayEntryIsShow == null) {
    _overlayEntryIsShow = overlayEntryShouldShowIfNil;
  }
}