Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc25fca9 authored by Schneider Victor-tulias's avatar Schneider Victor-tulias
Browse files

Add debug logs to help investigate view and activity leak test failures.

Flag: not needed
Test: MemoryTests
Bug: 260260325
Change-Id: Ie9ed8e607c574e81696a4246f701534c18cf0b7c
parent 60c419b9
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.launcher3.testing;

import static com.android.launcher3.testing.shared.TestProtocol.VIEW_AND_ACTIVITY_LEAKS;
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;

@@ -24,7 +25,9 @@ import android.app.Application;
import android.content.Context;
import android.os.Binder;
import android.os.Bundle;
import android.os.Process;
import android.system.Os;
import android.util.Log;
import android.view.View;

import androidx.annotation.Keep;
@@ -157,11 +160,17 @@ public class DebugTestInformationHandler extends TestInformationHandler {

            case TestProtocol.REQUEST_VIEW_LEAK: {
                if (sLeaks == null) sLeaks = new LinkedList();
                Log.d(VIEW_AND_ACTIVITY_LEAKS, "forcefully leaking 2 views");
                sLeaks.add(new View(mContext));
                sLeaks.add(new View(mContext));
                return response;
            }

            case TestProtocol.PRINT_VIEW_LEAK: {
                Log.d(VIEW_AND_ACTIVITY_LEAKS, "(pid=" + Process.myPid() + ") sLeaks=" + sLeaks);
                return response;
            }

            case TestProtocol.REQUEST_START_EVENT_LOGGING: {
                sEvents = new ArrayList<>();
                TestLogging.setEventConsumer(
+1 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ public final class TestProtocol {
    public static final String REQUEST_PID = "pid";
    public static final String REQUEST_FORCE_GC = "gc";
    public static final String REQUEST_VIEW_LEAK = "view-leak";
    public static final String PRINT_VIEW_LEAK = "print-leak";
    public static final String REQUEST_RECENT_TASKS_LIST = "recent-tasks-list";
    public static final String REQUEST_START_EVENT_LOGGING = "start-event-logging";
    public static final String REQUEST_GET_TEST_EVENTS = "get-test-events";
+4 −0
Original line number Diff line number Diff line
@@ -1830,6 +1830,10 @@ public final class LauncherInstrumentation {
        getTestInfo(TestProtocol.REQUEST_VIEW_LEAK);
    }

    public void printViewLeak() {
        getTestInfo(TestProtocol.PRINT_VIEW_LEAK);
    }

    public ArrayList<ComponentName> getRecentTasks() {
        ArrayList<ComponentName> tasks = new ArrayList<>();
        ArrayList<String> components = getTestInfo(TestProtocol.REQUEST_RECENT_TASKS_LIST)