shouldDisplayUpgrade method

bool shouldDisplayUpgrade()

Implementation

bool shouldDisplayUpgrade() {
  final isBlocked = blocked();

  if (debugLogging) {
    print('upgrader: blocked: $isBlocked');
    print('upgrader: debugDisplayAlways: $debugDisplayAlways');
    print('upgrader: debugDisplayOnce: $debugDisplayOnce');
    print('upgrader: hasAlerted: $_hasAlerted');
  }

  // If installed version is below minimum app version, or is a critical update,
  // disable ignore and later buttons.
  if (isBlocked) {
    showIgnore = false;
    showLater = false;
  }
  bool rv = true;
  if (debugDisplayAlways || (debugDisplayOnce && !_hasAlerted)) {
    rv = true;
  } else if (!isUpdateAvailable()) {
    rv = false;
  } else if (isBlocked) {
    rv = true;
  } else if (isTooSoon() || alreadyIgnoredThisVersion()) {
    rv = false;
  }
  if (debugLogging) {
    print('upgrader: shouldDisplayUpgrade: $rv');
  }

  // Call the [willDisplayUpgrade] callback when available.
  if (willDisplayUpgrade != null) {
    willDisplayUpgrade!(
        display: rv,
        minAppVersion: minAppVersion,
        installedVersion: _installedVersion,
        appStoreVersion: _appStoreVersion);
  }

  return rv;
}