resetToDefaults static method

Future<bool> resetToDefaults()

Resets all settings to defaults.

Implementation

static Future<bool> resetToDefaults() async {
  try {
    final prefs = await SharedPreferences.getInstance();
    await prefs.remove(_keyShowLocalPlaces);
    await prefs.remove(_keyUserPlacesColor);
    await prefs.remove(_keyLocalPlacesColor);
    await prefs.remove(_keyMapSource);
    await prefs.remove(_keyRememberViewport);
    await prefs.remove(_keyInitialLat);
    await prefs.remove(_keyInitialLng);
    await prefs.remove(_keyInitialZoom);
    await prefs.remove(keyLastLat);
    await prefs.remove(keyLastLng);
    await prefs.remove(keyLastZoom);

    // Write default settings to POD (not empty object)
    final defaultSettings = MapSettings(
      mapSource: MapSettings.getDefaultMapSource(),
    );
    unawaited(
      writeSettingsToPod(_settingsToJson(defaultSettings)).then((success) {
        debugPrint('resetToDefaults: POD sync ${success ? 'ok' : 'failed'}');
      }),
    );

    return true;
  } catch (_) {
    return false;
  }
}