Upgrader constructor

Upgrader({
  1. Client? client,
  2. Map<String, String>? clientHeaders,
  3. String? countryCode,
  4. bool debugDisplayAlways = false,
  5. bool debugDisplayOnce = false,
  6. bool debugLogging = false,
  7. Duration durationUntilAlertAgain = const Duration(days: 3),
  8. String? languageCode,
  9. UpgraderMessages? messages,
  10. String? minAppVersion,
  11. UpgraderStoreController? storeController,
  12. UpgraderDevice? upgraderDevice,
  13. UpgraderOS? upgraderOS,
  14. WillDisplayUpgradeCallback? willDisplayUpgrade,
})

Creates an uprade controller that maintains a state that is used to trigger an alert or other UI to evaluate upgrading criteria.

Implementation

Upgrader({
  http.Client? client,
  Map<String, String>? clientHeaders,
  String? countryCode,
  bool debugDisplayAlways = false,
  bool debugDisplayOnce = false,
  bool debugLogging = false,
  Duration durationUntilAlertAgain = const Duration(days: 3),
  String? languageCode,
  UpgraderMessages? messages,
  String? minAppVersion,
  UpgraderStoreController? storeController,
  UpgraderDevice? upgraderDevice,
  UpgraderOS? upgraderOS,
  this.willDisplayUpgrade,
})  : _state = UpgraderState(
        client: client ?? http.Client(),
        clientHeaders: clientHeaders,
        countryCodeOverride: countryCode,
        debugDisplayAlways: debugDisplayAlways,
        debugDisplayOnce: debugDisplayOnce,
        debugLogging: debugLogging,
        durationUntilAlertAgain: durationUntilAlertAgain,
        languageCodeOverride: languageCode,
        messages: messages,
        minAppVersion:
            parseVersion(minAppVersion, 'minAppVersion', debugLogging),
        upgraderDevice: upgraderDevice ?? UpgraderDevice(),
        upgraderOS: upgraderOS ?? UpgraderOS(),
      ),
      storeController = storeController ?? UpgraderStoreController() {
  if (_state.debugLogging) {
    print("upgrader: instantiated");
  }
}