From 1788042c9e0403f9ea295224cba8c784f5cba94d Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 4 Oct 2019 14:22:10 +0200 Subject: [PATCH] (Android) dpi_get_density - cache one variable to avoid excessive system_property_get querying --- gfx/drivers_context/android_ctx.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gfx/drivers_context/android_ctx.c b/gfx/drivers_context/android_ctx.c index c5d360d5e0..9aa91999d0 100644 --- a/gfx/drivers_context/android_ctx.c +++ b/gfx/drivers_context/android_ctx.c @@ -437,10 +437,21 @@ static bool android_gfx_ctx_suppress_screensaver(void *data, bool enable) static void dpi_get_density(char *s, size_t len) { - system_property_get("getprop", "ro.sf.lcd_density", s); + static bool inited_once = false; + static char string[PROP_VALUE_MAX] = {0}; + if (!inited_once) + { + system_property_get("getprop", "ro.sf.lcd_density", string); + inited_once = true; + } - if (string_is_empty(s)) - system_property_get("wm", "density", s); + if (!string_is_empty(string)) + { + strlcpy(s, string, len); + return; + } + + system_property_get("wm", "density", s); } static bool android_gfx_ctx_get_metrics(void *data,