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

Commit 7c324c5e authored by Yuichiro Hanada's avatar Yuichiro Hanada Committed by Android (Google) Code Review
Browse files

Merge "Add exit from desktop by minimize logging" into main

parents cf6be395 7ee5fd29
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -541,7 +541,8 @@ class DesktopModeEventLogger {
                FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__RETURN_HOME_OR_OVERVIEW
            ),
            TASK_FINISHED(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__TASK_FINISHED),
            SCREEN_OFF(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__SCREEN_OFF)
            SCREEN_OFF(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__SCREEN_OFF),
            TASK_MINIMIZED(FrameworkStatsLog.DESKTOP_MODE_UICHANGED__EXIT_REASON__TASK_MINIMIZED),
        }

        /**
+1 −0
Original line number Diff line number Diff line
@@ -382,6 +382,7 @@ class DesktopModeLoggerTransitionObserver(
            transitionInfo.type == TRANSIT_EXIT_DESKTOP_MODE_KEYBOARD_SHORTCUT ->
                ExitReason.KEYBOARD_SHORTCUT_EXIT
            transitionInfo.isExitToRecentsTransition() -> ExitReason.RETURN_HOME_OR_OVERVIEW
            transitionInfo.type == Transitions.TRANSIT_MINIMIZE -> ExitReason.TASK_MINIMIZED
            else -> {
                ProtoLog.w(
                    WM_SHELL_DESKTOP_MODE,
+18 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ import com.android.wm.shell.shared.desktopmode.DesktopModeStatus
import com.android.wm.shell.sysui.ShellInit
import com.android.wm.shell.transition.TransitionInfoBuilder
import com.android.wm.shell.transition.Transitions
import com.android.wm.shell.transition.Transitions.TRANSIT_MINIMIZE
import kotlin.test.assertFalse
import kotlin.test.assertTrue
import org.junit.Before
@@ -521,6 +522,23 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
    verifyTaskRemovedAndExitLogging(ExitReason.TASK_FINISHED, DEFAULT_TASK_UPDATE)
  }

  @Test
  fun transitMinimize_logExitReasongMinimized() {
      // add a freeform task
      transitionObserver.addTaskInfosToCachedMap(createTaskInfo(WINDOWING_MODE_FREEFORM))
      transitionObserver.isSessionActive = true

      // minimize the task
      val change = createChange(TRANSIT_MINIMIZE, createTaskInfo(WINDOWING_MODE_FULLSCREEN))
      val transitionInfo = TransitionInfoBuilder(TRANSIT_MINIMIZE).addChange(change).build()
      callOnTransitionReady(transitionInfo)

      assertFalse(transitionObserver.isSessionActive)
      verify(desktopModeEventLogger, times(1)).logSessionExit(eq(ExitReason.TASK_MINIMIZED))
      verify(desktopModeEventLogger, times(1)).logTaskRemoved(eq(DEFAULT_TASK_UPDATE))
      verifyZeroInteractions(desktopModeEventLogger)
  }

  @Test
  fun sessionExitByRecents_cancelledAnimation_sessionRestored() {
    // add a freeform task to an existing session