diff options
| author | 2022-06-01 15:01:11 -0400 | |
|---|---|---|
| committer | 2022-06-01 19:04:57 +0000 | |
| commit | b30b1683e119c509dc32b5a4d00a113546deac95 (patch) | |
| tree | 6890222f4c96a897b7457fd7c9fff71c92ed18cf | |
| parent | a834a9bd52bc60f0aa054aa4a8847a545ddefe15 (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.java | 22 |
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)); + } } /** |