From dc57eac9a85a267e13e63f68c828ae1b7016b58d Mon Sep 17 00:00:00 2001 From: Pranav Vashi Date: Sat, 7 Sep 2024 21:02:59 +0530 Subject: [PATCH] OmnijawsClient: Close cursor to avoid memory leak Signed-off-by: Pranav Vashi Signed-off-by: Dmitrii Signed-off-by: MOVZX --- .../internal/util/evolution/OmniJawsClient.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/core/java/com/android/internal/util/evolution/OmniJawsClient.java b/core/java/com/android/internal/util/evolution/OmniJawsClient.java index e89f1cc408dee..2bbd51ffab8cf 100644 --- a/core/java/com/android/internal/util/evolution/OmniJawsClient.java +++ b/core/java/com/android/internal/util/evolution/OmniJawsClient.java @@ -354,21 +354,25 @@ public class OmniJawsClient { if (!isOmniJawsServiceInstalled()) { return false; } + boolean enabled = false; try { final Cursor c = mContext.getContentResolver().query(SETTINGS_URI, SETTINGS_PROJECTION, null, null, null); if (c != null) { - int count = c.getCount(); - if (count == 1) { - c.moveToPosition(0); - boolean enabled = c.getInt(0) == 1; - return enabled; + try { + int count = c.getCount(); + if (count == 1) { + c.moveToPosition(0); + enabled = c.getInt(0) == 1; + } + } finally { + c.close(); } } } catch (Exception e) { Log.e(TAG, "isOmniJawsEnabled", e); } - return false; + return enabled; } private String getTemperatureUnit() {