public async Task <Uri> GetCurrentBackgroundAsync(WeatherCondition condition, bool isNight) { Uri uri; switch (condition) { case WeatherCondition.unknown: return(null); case WeatherCondition.sunny: case WeatherCondition.windy: case WeatherCondition.calm: case WeatherCondition.light_breeze: case WeatherCondition.moderate: case WeatherCondition.fresh_breeze: case WeatherCondition.strong_breeze: case WeatherCondition.high_wind: case WeatherCondition.gale: case WeatherCondition.hot: if (isNight) { if (Starry == ImmersiveBackgroundState.Assets) { uri = await FileIOHelper.GetFileUriFromAssetsAsync(starry, StarryPicked, StarryShuffle); } else if (Starry == ImmersiveBackgroundState.Local) { uri = await FileIOHelper.GetFileUriFromLocalAsync(starry, local); } else { return(null); } } else { if (Sunny == ImmersiveBackgroundState.Assets) { uri = await FileIOHelper.GetFileUriFromAssetsAsync(sunny, SunnyPicked, SunnyShuffle); } else if (Sunny == ImmersiveBackgroundState.Local) { uri = await FileIOHelper.GetFileUriFromLocalAsync(sunny, local); } else { return(null); } } break; case WeatherCondition.cloudy: case WeatherCondition.few_clouds: case WeatherCondition.partly_cloudy: if (Cloudy == ImmersiveBackgroundState.Assets) { uri = await FileIOHelper.GetFileUriFromAssetsAsync(cloudy, CloudyPicked, CloudyShuffle); } else if (Cloudy == ImmersiveBackgroundState.Local) { uri = await FileIOHelper.GetFileUriFromLocalAsync(cloudy, local); } else { return(null); } break; case WeatherCondition.overcast: if (Overcast == ImmersiveBackgroundState.Assets) { uri = await FileIOHelper.GetFileUriFromAssetsAsync(overcast, OvercastPicked, OvercastShuffle); } else if (Overcast == ImmersiveBackgroundState.Local) { uri = await FileIOHelper.GetFileUriFromLocalAsync(overcast, local); } else { return(null); } break; case WeatherCondition.strong_gale: case WeatherCondition.storm: case WeatherCondition.violent_storm: case WeatherCondition.hurricane: case WeatherCondition.tornado: case WeatherCondition.tropical_storm: case WeatherCondition.shower_rain: case WeatherCondition.heavy_shower_rain: case WeatherCondition.thundershower: case WeatherCondition.heavy_thunderstorm: case WeatherCondition.hail: case WeatherCondition.light_rain: case WeatherCondition.moderate_rain: case WeatherCondition.heavy_rain: case WeatherCondition.extreme_rain: case WeatherCondition.drizzle_rain: case WeatherCondition.storm_rain: case WeatherCondition.heavy_storm_rain: case WeatherCondition.severe_storm_rain: case WeatherCondition.freezing_rain: if (Rainny == ImmersiveBackgroundState.Assets) { uri = await FileIOHelper.GetFileUriFromAssetsAsync(rainny, RainnyPicked, RainnyShuffle); } else if (Rainny == ImmersiveBackgroundState.Local) { uri = await FileIOHelper.GetFileUriFromLocalAsync(rainny, local); } else { return(null); } break; case WeatherCondition.light_snow: case WeatherCondition.moderate_snow: case WeatherCondition.heavy_snow: case WeatherCondition.snowstorm: case WeatherCondition.sleet: case WeatherCondition.rain_snow: case WeatherCondition.shower_snow: case WeatherCondition.snow_flurry: case WeatherCondition.cold: if (Snowy == ImmersiveBackgroundState.Assets) { uri = await FileIOHelper.GetFileUriFromAssetsAsync(snowy, SnowyPicked, SnowyShuffle); } else if (Snowy == ImmersiveBackgroundState.Local) { uri = await FileIOHelper.GetFileUriFromLocalAsync(snowy, local); } else { return(null); } break; case WeatherCondition.mist: case WeatherCondition.foggy: if (Foggy == ImmersiveBackgroundState.Assets) { uri = await FileIOHelper.GetFileUriFromAssetsAsync(foggy, FoggyPicked, FoggyShuffle); } else if (Foggy == ImmersiveBackgroundState.Local) { uri = await FileIOHelper.GetFileUriFromLocalAsync(foggy, local); } else { return(null); } break; case WeatherCondition.haze: case WeatherCondition.sand: case WeatherCondition.dust: case WeatherCondition.volcanic_ash: case WeatherCondition.duststorm: case WeatherCondition.sandstorm: if (Haze == ImmersiveBackgroundState.Assets) { uri = await FileIOHelper.GetFileUriFromAssetsAsync(haze, HazePicked, HazeShuffle); } else if (Haze == ImmersiveBackgroundState.Local) { uri = await FileIOHelper.GetFileUriFromLocalAsync(haze, local); } else { return(null); } break; default: return(null); } return(uri); }