Loading core/java/com/android/internal/app/SimpleIconFactory.java +14 −1 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ import android.util.Pools.SynchronizedPool; import android.util.TypedValue; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import org.xmlpull.v1.XmlPullParser; Loading @@ -69,6 +70,7 @@ public class SimpleIconFactory { private static final SynchronizedPool<SimpleIconFactory> sPool = new SynchronizedPool<>(Runtime.getRuntime().availableProcessors()); private static boolean sPoolEnabled = true; private static final int DEFAULT_WRAPPER_BACKGROUND = Color.WHITE; private static final float BLUR_FACTOR = 1.5f / 48; Loading @@ -92,7 +94,7 @@ public class SimpleIconFactory { */ @Deprecated public static SimpleIconFactory obtain(Context ctx) { SimpleIconFactory instance = sPool.acquire(); SimpleIconFactory instance = sPoolEnabled ? sPool.acquire() : null; if (instance == null) { final ActivityManager am = (ActivityManager) ctx.getSystemService(ACTIVITY_SERVICE); final int iconDpi = (am == null) ? 0 : am.getLauncherLargeIconDensity(); Loading @@ -106,6 +108,17 @@ public class SimpleIconFactory { return instance; } /** * Enables or disables SimpleIconFactory objects pooling. It is enabled in production, you * could use this method in tests and disable the pooling to make the icon rendering more * deterministic because some sizing parameters will not be cached. Please ensure that you * reset this value back after finishing the test. */ @VisibleForTesting public static void setPoolEnabled(boolean poolEnabled) { sPoolEnabled = poolEnabled; } private static int getAttrDimFromContext(Context ctx, @AttrRes int attrId, String errorMsg) { final Resources res = ctx.getResources(); TypedValue outVal = new TypedValue(); Loading Loading
core/java/com/android/internal/app/SimpleIconFactory.java +14 −1 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ import android.util.Pools.SynchronizedPool; import android.util.TypedValue; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import org.xmlpull.v1.XmlPullParser; Loading @@ -69,6 +70,7 @@ public class SimpleIconFactory { private static final SynchronizedPool<SimpleIconFactory> sPool = new SynchronizedPool<>(Runtime.getRuntime().availableProcessors()); private static boolean sPoolEnabled = true; private static final int DEFAULT_WRAPPER_BACKGROUND = Color.WHITE; private static final float BLUR_FACTOR = 1.5f / 48; Loading @@ -92,7 +94,7 @@ public class SimpleIconFactory { */ @Deprecated public static SimpleIconFactory obtain(Context ctx) { SimpleIconFactory instance = sPool.acquire(); SimpleIconFactory instance = sPoolEnabled ? sPool.acquire() : null; if (instance == null) { final ActivityManager am = (ActivityManager) ctx.getSystemService(ACTIVITY_SERVICE); final int iconDpi = (am == null) ? 0 : am.getLauncherLargeIconDensity(); Loading @@ -106,6 +108,17 @@ public class SimpleIconFactory { return instance; } /** * Enables or disables SimpleIconFactory objects pooling. It is enabled in production, you * could use this method in tests and disable the pooling to make the icon rendering more * deterministic because some sizing parameters will not be cached. Please ensure that you * reset this value back after finishing the test. */ @VisibleForTesting public static void setPoolEnabled(boolean poolEnabled) { sPoolEnabled = poolEnabled; } private static int getAttrDimFromContext(Context ctx, @AttrRes int attrId, String errorMsg) { final Resources res = ctx.getResources(); TypedValue outVal = new TypedValue(); Loading