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

Commit be7f65de authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update debug.tracing.desktop_mode_visible_tasks system property." into main

parents e7ac38b5 7bce6646
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.app.TaskInfo
import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM
import android.content.Context
import android.os.IBinder
import android.os.SystemProperties
import android.os.Trace
import android.util.SparseArray
import android.view.SurfaceControl
@@ -52,8 +53,6 @@ import com.android.wm.shell.shared.TransitionUtil
import com.android.wm.shell.sysui.ShellInit
import com.android.wm.shell.transition.Transitions

const val VISIBLE_TASKS_COUNTER_NAME = "DESKTOP_MODE_VISIBLE_TASKS"

/**
 * A [Transitions.TransitionObserver] that observes transitions and the proposed changes to log
 * appropriate desktop mode session log events. This observes transitions related to desktop mode
@@ -307,6 +306,8 @@ class DesktopModeLoggerTransitionObserver(
                        VISIBLE_TASKS_COUNTER_NAME,
                        postTransitionVisibleFreeformTasks.size().toLong()
                    )
                    SystemProperties.set(VISIBLE_TASKS_COUNTER_SYSTEM_PROPERTY,
                        postTransitionVisibleFreeformTasks.size().toString())
                }
                // old tasks that were resized or repositioned
                // TODO(b/347935387): Log changes only once they are stable.
@@ -326,6 +327,8 @@ class DesktopModeLoggerTransitionObserver(
                    VISIBLE_TASKS_COUNTER_NAME,
                    postTransitionVisibleFreeformTasks.size().toLong()
                )
                SystemProperties.set(VISIBLE_TASKS_COUNTER_SYSTEM_PROPERTY,
                    postTransitionVisibleFreeformTasks.size().toString())
            }
        }
    }
@@ -431,4 +434,12 @@ class DesktopModeLoggerTransitionObserver(
        return this.type == WindowManager.TRANSIT_TO_FRONT &&
            this.flags == WindowManager.TRANSIT_FLAG_IS_RECENTS
    }

    companion object {
        @VisibleForTesting
        const val VISIBLE_TASKS_COUNTER_NAME = "desktop_mode_visible_tasks"
        @VisibleForTesting
        const val VISIBLE_TASKS_COUNTER_SYSTEM_PROPERTY =
            "debug.tracing." + VISIBLE_TASKS_COUNTER_NAME
    }
}
+19 −1
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ import android.content.Context
import android.graphics.Point
import android.graphics.Rect
import android.os.IBinder
import android.os.SystemProperties
import android.os.Trace
import android.testing.AndroidTestingRunner
import android.view.SurfaceControl
import android.view.WindowManager.TRANSIT_CHANGE
@@ -38,6 +40,7 @@ import android.window.TransitionInfo
import android.window.TransitionInfo.Change
import android.window.WindowContainerToken
import androidx.test.filters.SmallTest
import com.android.dx.mockito.inline.extended.ExtendedMockito
import com.android.modules.utils.testing.ExtendedMockitoRule
import com.android.wm.shell.ShellTestCase
import com.android.wm.shell.common.ShellExecutor
@@ -86,7 +89,11 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
  @JvmField
  @Rule
  val extendedMockitoRule =
      ExtendedMockitoRule.Builder(this).mockStatic(DesktopModeStatus::class.java).build()!!
      ExtendedMockitoRule.Builder(this)
          .mockStatic(DesktopModeStatus::class.java)
          .mockStatic(SystemProperties::class.java)
          .mockStatic(Trace::class.java)
          .build()!!

  private val testExecutor = mock<ShellExecutor>()
  private val mockShellInit = mock<ShellInit>()
@@ -695,6 +702,17 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
    assertNotNull(sessionId)
    verify(desktopModeEventLogger, times(1)).logSessionEnter(eq(sessionId!!), eq(enterReason))
    verify(desktopModeEventLogger, times(1)).logTaskAdded(eq(sessionId), eq(taskUpdate))
    ExtendedMockito.verify {
        Trace.setCounter(
            eq(Trace.TRACE_TAG_WINDOW_MANAGER),
            eq(DesktopModeLoggerTransitionObserver.VISIBLE_TASKS_COUNTER_NAME),
            eq(taskUpdate.visibleTaskCount.toLong()))
    }
    ExtendedMockito.verify {
        SystemProperties.set(
            eq(DesktopModeLoggerTransitionObserver.VISIBLE_TASKS_COUNTER_SYSTEM_PROPERTY),
            eq(taskUpdate.visibleTaskCount.toString()))
    }
    verifyZeroInteractions(desktopModeEventLogger)
  }