diff options
Diffstat (limited to 'src/com/android/tv/util/BitmapUtils.java')
-rw-r--r-- | src/com/android/tv/util/BitmapUtils.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/tv/util/BitmapUtils.java b/src/com/android/tv/util/BitmapUtils.java index d45a8dce..fbaab023 100644 --- a/src/com/android/tv/util/BitmapUtils.java +++ b/src/com/android/tv/util/BitmapUtils.java @@ -24,6 +24,7 @@ import android.graphics.BitmapFactory; import android.graphics.PorterDuff; import android.graphics.Rect; import android.graphics.drawable.Drawable; +import android.net.TrafficStats; import android.net.Uri; import android.support.annotation.NonNull; import android.text.TextUtils; @@ -56,6 +57,12 @@ public final class BitmapUtils { return Bitmap.createScaledBitmap(bm, rect.right, rect.bottom, false); } + public static Bitmap getScaledMutableBitmap(Bitmap bm, int maxWidth, int maxHeight) { + Bitmap scaledBitmap = scaleBitmap(bm, maxWidth, maxHeight); + return scaledBitmap.isMutable() ? scaledBitmap + : scaledBitmap.copy(Bitmap.Config.ARGB_8888, true); + } + private static Rect calculateNewSize(Bitmap bm, int maxWidth, int maxHeight) { final double ratio = maxHeight / (double) maxWidth; final double bmRatio = bm.getHeight() / (double) bm.getWidth(); @@ -89,6 +96,8 @@ public final class BitmapUtils { boolean isResourceUri = isContentResolverUri(uri); URLConnection urlConnection = null; InputStream inputStream = null; + final int oldTag = TrafficStats.getThreadStatsTag(); + TrafficStats.setThreadStatsTag(NetworkTrafficTags.LOGO_FETCHER); try { if (isResourceUri) { inputStream = context.getContentResolver().openInputStream(uri); @@ -142,6 +151,7 @@ public final class BitmapUtils { return null; } finally { close(inputStream, urlConnection); + TrafficStats.setThreadStatsTag(oldTag); } } |