summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lucas Silva <lusilva@google.com> 2022-06-01 15:01:11 -0400
committer Lucas Silva <lusilva@google.com> 2022-06-01 19:04:57 +0000
commitb30b1683e119c509dc32b5a4d00a113546deac95 (patch)
tree6890222f4c96a897b7457fd7c9fff71c92ed18cf
parenta834a9bd52bc60f0aa054aa4a8847a545ddefe15 (diff)
Use try-with-resource statement for dream metadata to ensure proper
cleanup. This ensures the memory is properly cleaned up if an exception is thrown while building the DreamMetadata object. Bug: 234343900 Test: locally on device Change-Id: I29b2bed30c216d5e353fa0a8b0da74579b33cecb
-rw-r--r--core/java/android/service/dreams/DreamService.java22
1 files changed, 10 insertions, 12 deletions
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java
index 5217b28942f8..2d461c6cf92e 100644
--- a/core/java/android/service/dreams/DreamService.java
+++ b/core/java/android/service/dreams/DreamService.java
@@ -1130,18 +1130,16 @@ public class DreamService extends Service implements Window.Callback {
final PackageManager pm = context.getPackageManager();
- final TypedArray rawMetadata = readMetadata(pm, serviceInfo);
- if (rawMetadata == null) return null;
-
- final DreamMetadata metadata = new DreamMetadata(
- convertToComponentName(rawMetadata.getString(
- com.android.internal.R.styleable.Dream_settingsActivity), serviceInfo),
- rawMetadata.getDrawable(
- com.android.internal.R.styleable.Dream_previewImage),
- rawMetadata.getBoolean(R.styleable.Dream_showClockAndComplications,
- DEFAULT_SHOW_COMPLICATIONS));
- rawMetadata.recycle();
- return metadata;
+ try (TypedArray rawMetadata = readMetadata(pm, serviceInfo)) {
+ if (rawMetadata == null) return null;
+ return new DreamMetadata(
+ convertToComponentName(rawMetadata.getString(
+ com.android.internal.R.styleable.Dream_settingsActivity), serviceInfo),
+ rawMetadata.getDrawable(
+ com.android.internal.R.styleable.Dream_previewImage),
+ rawMetadata.getBoolean(R.styleable.Dream_showClockAndComplications,
+ DEFAULT_SHOW_COMPLICATIONS));
+ }
}
/**