public static string?Convert(ResourceCandidate resourceCandidate, string defaultLanguage) { try { ValidatePlatform(resourceCandidate); var language = GetLanguage(resourceCandidate.GetQualifierValue("language"), defaultLanguage); var dpi = GetDpi(resourceCandidate.GetQualifierValue("scale")); var theme = GetTheme(resourceCandidate.GetQualifierValue("theme")); var fileName = AndroidResourceNameEncoder.EncodeDrawablePath(resourceCandidate.LogicalPath); return(Path.Combine($"drawable{language}{theme}{dpi}", fileName)); } #if HAS_UNO catch (Exception ex) { ex.Log().Info($"Couldn't convert {resourceCandidate.ValueAsString} to an Android resource path.", ex); #else catch (Exception) { #endif return(null); } }
public void When_EncodeDrawablePath(string input, string expected) { Assert.AreEqual(expected, AndroidResourceNameEncoder.EncodeDrawablePath(input)); }