aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/util/BitmapUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/util/BitmapUtils.java')
-rw-r--r--src/com/android/tv/util/BitmapUtils.java10
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);
}
}