Merge "Ensure input stream is closed when loading channel logo" into androidx-main
diff --git a/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/ChannelLogoUtils.java b/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/ChannelLogoUtils.java
index e9c31b8..158e499 100644
--- a/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/ChannelLogoUtils.java
+++ b/tv-provider/tv-provider/src/main/java/androidx/tvprovider/media/tv/ChannelLogoUtils.java
@@ -156,12 +156,12 @@
     @SuppressLint("WrongThread") // TODO https://issuetracker.google.com/issues/116776070
     public static Bitmap loadChannelLogo(@NonNull Context context, long channelId) {
         Bitmap channelLogo = null;
-        try {
-            channelLogo = BitmapFactory.decodeStream(context.getContentResolver().openInputStream(
-                    TvContract.buildChannelLogoUri(channelId)));
-        } catch (FileNotFoundException e) {
+        Uri logoUri = TvContract.buildChannelLogoUri(channelId);
+        try (InputStream is = context.getContentResolver().openInputStream(logoUri)) {
+            channelLogo = BitmapFactory.decodeStream(is);
+        } catch (IOException e) {
             // Channel logo is not found in the content provider.
-            Log.i(TAG, "Channel logo for channel (ID:" + channelId + ") not found.", e);
+            Log.i(TAG, "Could not load channel logo for channel (ID:" + channelId + ").", e);
         }
         return channelLogo;
     }