fetchInstallDay static method

Future<void> fetchInstallDay()

Returns install day in UTC milliseconds since epoch, or -1 if error.

Implementation

static Future<void> fetchInstallDay() async {
  try {
    final int installDayMillis =
        await _channel
            .invokeMethod<int>('getInstallDay')
            .timeout(_platformCallTimeout, onTimeout: () => -1) ??
        -1;
    if (_isValidTimestamp(installDayMillis)) {
      await Event.setInstallDay(installDayMillis);
      // Persist exact install_time_millis for retention calculation
      if (Prefs.getInt(_keyInstallTimeMillis) == null) {
        await Prefs.setInt(_keyInstallTimeMillis, installDayMillis);
      }
    } else {
      await _applyCachedInstallDayIfAvailable();
    }
  } catch (e) {
    dbLogger.warning("Failed to get App Install Day: $e");
    await _applyCachedInstallDayIfAvailable();
  }
}