Loading src/com/android/launcher3/testing/TestInformationHandler.java +28 −0 Original line number Diff line number Diff line Loading @@ -16,8 +16,11 @@ package com.android.launcher3.testing; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static android.graphics.Bitmap.Config.ARGB_8888; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Color; import android.os.Bundle; import android.os.Debug; Loading @@ -30,6 +33,7 @@ import com.android.launcher3.R; import com.android.launcher3.allapps.AllAppsStore; import com.android.launcher3.util.ResourceBasedOverride; import java.util.LinkedList; import java.util.concurrent.ExecutionException; public class TestInformationHandler implements ResourceBasedOverride { Loading @@ -43,6 +47,7 @@ public class TestInformationHandler implements ResourceBasedOverride { protected DeviceProfile mDeviceProfile; protected LauncherAppState mLauncherAppState; protected Launcher mLauncher; private static LinkedList mLeaks; public void init(Context context) { mContext = context; Loading Loading @@ -121,6 +126,29 @@ public class TestInformationHandler implements ResourceBasedOverride { response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, mem.getTotalPss()); break; } case TestProtocol.REQUEST_JAVA_LEAK: { if (mLeaks == null) mLeaks = new LinkedList(); // Allocate and dirty the memory. final int leakSize = 1024 * 1024; final byte[] bytes = new byte[leakSize]; for (int i = 0; i < leakSize; i += 239) { bytes[i] = (byte) (i % 256); } mLeaks.add(bytes); break; } case TestProtocol.REQUEST_NATIVE_LEAK: { if (mLeaks == null) mLeaks = new LinkedList(); // Allocate and dirty a bitmap. final Bitmap bitmap = Bitmap.createBitmap(512, 512, ARGB_8888); bitmap.eraseColor(Color.RED); mLeaks.add(bitmap); break; } } return response; } Loading src/com/android/launcher3/testing/TestProtocol.java +2 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,8 @@ public final class TestProtocol { public static final String REQUEST_OVERVIEW_LEFT_GESTURE_MARGIN = "overview-left-margin"; public static final String REQUEST_OVERVIEW_RIGHT_GESTURE_MARGIN = "overview-right-margin"; public static final String REQUEST_TOTAL_PSS_KB = "total_pss"; public static final String REQUEST_JAVA_LEAK = "java-leak"; public static final String REQUEST_NATIVE_LEAK = "native-leak"; public static boolean sDebugTracing = false; public static final String REQUEST_ENABLE_DEBUG_TRACING = "enable-debug-tracing"; Loading tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +8 −0 Original line number Diff line number Diff line Loading @@ -961,4 +961,12 @@ public final class LauncherInstrumentation { return getTestInfo(TestProtocol.REQUEST_TOTAL_PSS_KB). getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD); } public void produceJavaLeak() { getTestInfo(TestProtocol.REQUEST_JAVA_LEAK); } public void produceNativeLeak() { getTestInfo(TestProtocol.REQUEST_NATIVE_LEAK); } } No newline at end of file Loading
src/com/android/launcher3/testing/TestInformationHandler.java +28 −0 Original line number Diff line number Diff line Loading @@ -16,8 +16,11 @@ package com.android.launcher3.testing; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static android.graphics.Bitmap.Config.ARGB_8888; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Color; import android.os.Bundle; import android.os.Debug; Loading @@ -30,6 +33,7 @@ import com.android.launcher3.R; import com.android.launcher3.allapps.AllAppsStore; import com.android.launcher3.util.ResourceBasedOverride; import java.util.LinkedList; import java.util.concurrent.ExecutionException; public class TestInformationHandler implements ResourceBasedOverride { Loading @@ -43,6 +47,7 @@ public class TestInformationHandler implements ResourceBasedOverride { protected DeviceProfile mDeviceProfile; protected LauncherAppState mLauncherAppState; protected Launcher mLauncher; private static LinkedList mLeaks; public void init(Context context) { mContext = context; Loading Loading @@ -121,6 +126,29 @@ public class TestInformationHandler implements ResourceBasedOverride { response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, mem.getTotalPss()); break; } case TestProtocol.REQUEST_JAVA_LEAK: { if (mLeaks == null) mLeaks = new LinkedList(); // Allocate and dirty the memory. final int leakSize = 1024 * 1024; final byte[] bytes = new byte[leakSize]; for (int i = 0; i < leakSize; i += 239) { bytes[i] = (byte) (i % 256); } mLeaks.add(bytes); break; } case TestProtocol.REQUEST_NATIVE_LEAK: { if (mLeaks == null) mLeaks = new LinkedList(); // Allocate and dirty a bitmap. final Bitmap bitmap = Bitmap.createBitmap(512, 512, ARGB_8888); bitmap.eraseColor(Color.RED); mLeaks.add(bitmap); break; } } return response; } Loading
src/com/android/launcher3/testing/TestProtocol.java +2 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,8 @@ public final class TestProtocol { public static final String REQUEST_OVERVIEW_LEFT_GESTURE_MARGIN = "overview-left-margin"; public static final String REQUEST_OVERVIEW_RIGHT_GESTURE_MARGIN = "overview-right-margin"; public static final String REQUEST_TOTAL_PSS_KB = "total_pss"; public static final String REQUEST_JAVA_LEAK = "java-leak"; public static final String REQUEST_NATIVE_LEAK = "native-leak"; public static boolean sDebugTracing = false; public static final String REQUEST_ENABLE_DEBUG_TRACING = "enable-debug-tracing"; Loading
tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +8 −0 Original line number Diff line number Diff line Loading @@ -961,4 +961,12 @@ public final class LauncherInstrumentation { return getTestInfo(TestProtocol.REQUEST_TOTAL_PSS_KB). getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD); } public void produceJavaLeak() { getTestInfo(TestProtocol.REQUEST_JAVA_LEAK); } public void produceNativeLeak() { getTestInfo(TestProtocol.REQUEST_NATIVE_LEAK); } } No newline at end of file