Loading packages/SystemUI/src/com/android/systemui/LauncherProxyService.java +6 −2 Original line number Diff line number Diff line Loading @@ -126,6 +126,7 @@ import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.phone.StatusBarWindowCallback; import com.android.systemui.statusbar.policy.CallbackController; import com.android.systemui.unfold.progress.UnfoldTransitionProgressForwarder; import com.android.systemui.user.domain.interactor.HeadlessSystemUserMode; import com.android.wm.shell.back.BackAnimation; import com.android.wm.shell.shared.desktopmode.DesktopState; import com.android.wm.shell.sysui.ShellInterface; Loading Loading @@ -165,6 +166,7 @@ public class LauncherProxyService implements CallbackController<LauncherProxyLis private final Lazy<ShadeViewController> mShadeViewControllerLazy; private final PerDisplayRepository<SysUiState> mPerDisplaySysUiStateRepository; private final DisplayRepository mDisplayRepository; private final HeadlessSystemUserMode mHeadlessSystemUserMode; private SysUiState mDefaultDisplaySysUIState; private final Handler mHandler; private final Lazy<NavigationBarController> mNavBarControllerLazy; Loading Loading @@ -745,8 +747,10 @@ public class LauncherProxyService implements CallbackController<LauncherProxyLis Optional<BackAnimation> backAnimation, ProcessWrapper processWrapper, DisplayRepository displayRepository, DesktopState desktopState DesktopState desktopState, HeadlessSystemUserMode headlessSystemUserMode ) { mHeadlessSystemUserMode = headlessSystemUserMode; // b/241601880: This component should only be running for primary users or // secondaryUsers when visibleBackgroundUsers are supported. boolean isSystemUser = processWrapper.isSystemUser(); Loading Loading @@ -1026,7 +1030,7 @@ public class LauncherProxyService implements CallbackController<LauncherProxyLis // Avoid creating TouchInteractionService because the System user in HSUM mode does not // interact with UI elements UserHandle currentUser = UserHandle.of(mUserTracker.getUserId()); if (UserManager.isHeadlessSystemUserMode() && currentUser.isSystem()) { if (mHeadlessSystemUserMode.isHeadlessSystemUserMode() && currentUser.isSystem()) { Log.w(TAG_OPS, "Skipping connection to TouchInteractionService for the System user in HSUM " + "mode."); Loading packages/SystemUI/tests/src/com/android/systemui/LauncherProxyServiceTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ import com.android.systemui.shared.system.QuickStepContract.WAKEFULNESS_WAKING import com.android.systemui.statusbar.CommandQueue import com.android.systemui.statusbar.NotificationShadeWindowController import com.android.systemui.unfold.progress.UnfoldTransitionProgressForwarder import com.android.systemui.user.domain.interactor.HeadlessSystemUserModeFake import com.android.systemui.util.mockito.mock import com.android.systemui.util.time.FakeSystemClock import com.android.wm.shell.back.BackAnimation Loading Loading @@ -145,6 +146,7 @@ class LauncherProxyServiceTest : SysuiTestCase() { @Mock private lateinit var statusBarShadeDisplayPolicy: StatusBarTouchShadeDisplayPolicy @Mock private lateinit var backAnimation: Optional<BackAnimation> private lateinit var desktopState: FakeDesktopState private val fakeHeadlessSystemUserMode = HeadlessSystemUserModeFake() @Before fun setUp() { Loading Loading @@ -173,6 +175,7 @@ class LauncherProxyServiceTest : SysuiTestCase() { `when`(processWrapper.isSystemUser).thenReturn(true) sysuiStatePerDisplayRepository.add(Display.DEFAULT_DISPLAY, sysUiState) runBlocking { kosmos.displayRepository.apply { addDisplay(0) } } fakeHeadlessSystemUserMode.setIsHeadlessSystemUser(false) subject = createLauncherProxyService(context) } Loading Loading @@ -424,6 +427,7 @@ class LauncherProxyServiceTest : SysuiTestCase() { processWrapper, kosmos.displayRepository, desktopState, fakeHeadlessSystemUserMode, ) } } Loading
packages/SystemUI/src/com/android/systemui/LauncherProxyService.java +6 −2 Original line number Diff line number Diff line Loading @@ -126,6 +126,7 @@ import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.phone.StatusBarWindowCallback; import com.android.systemui.statusbar.policy.CallbackController; import com.android.systemui.unfold.progress.UnfoldTransitionProgressForwarder; import com.android.systemui.user.domain.interactor.HeadlessSystemUserMode; import com.android.wm.shell.back.BackAnimation; import com.android.wm.shell.shared.desktopmode.DesktopState; import com.android.wm.shell.sysui.ShellInterface; Loading Loading @@ -165,6 +166,7 @@ public class LauncherProxyService implements CallbackController<LauncherProxyLis private final Lazy<ShadeViewController> mShadeViewControllerLazy; private final PerDisplayRepository<SysUiState> mPerDisplaySysUiStateRepository; private final DisplayRepository mDisplayRepository; private final HeadlessSystemUserMode mHeadlessSystemUserMode; private SysUiState mDefaultDisplaySysUIState; private final Handler mHandler; private final Lazy<NavigationBarController> mNavBarControllerLazy; Loading Loading @@ -745,8 +747,10 @@ public class LauncherProxyService implements CallbackController<LauncherProxyLis Optional<BackAnimation> backAnimation, ProcessWrapper processWrapper, DisplayRepository displayRepository, DesktopState desktopState DesktopState desktopState, HeadlessSystemUserMode headlessSystemUserMode ) { mHeadlessSystemUserMode = headlessSystemUserMode; // b/241601880: This component should only be running for primary users or // secondaryUsers when visibleBackgroundUsers are supported. boolean isSystemUser = processWrapper.isSystemUser(); Loading Loading @@ -1026,7 +1030,7 @@ public class LauncherProxyService implements CallbackController<LauncherProxyLis // Avoid creating TouchInteractionService because the System user in HSUM mode does not // interact with UI elements UserHandle currentUser = UserHandle.of(mUserTracker.getUserId()); if (UserManager.isHeadlessSystemUserMode() && currentUser.isSystem()) { if (mHeadlessSystemUserMode.isHeadlessSystemUserMode() && currentUser.isSystem()) { Log.w(TAG_OPS, "Skipping connection to TouchInteractionService for the System user in HSUM " + "mode."); Loading
packages/SystemUI/tests/src/com/android/systemui/LauncherProxyServiceTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ import com.android.systemui.shared.system.QuickStepContract.WAKEFULNESS_WAKING import com.android.systemui.statusbar.CommandQueue import com.android.systemui.statusbar.NotificationShadeWindowController import com.android.systemui.unfold.progress.UnfoldTransitionProgressForwarder import com.android.systemui.user.domain.interactor.HeadlessSystemUserModeFake import com.android.systemui.util.mockito.mock import com.android.systemui.util.time.FakeSystemClock import com.android.wm.shell.back.BackAnimation Loading Loading @@ -145,6 +146,7 @@ class LauncherProxyServiceTest : SysuiTestCase() { @Mock private lateinit var statusBarShadeDisplayPolicy: StatusBarTouchShadeDisplayPolicy @Mock private lateinit var backAnimation: Optional<BackAnimation> private lateinit var desktopState: FakeDesktopState private val fakeHeadlessSystemUserMode = HeadlessSystemUserModeFake() @Before fun setUp() { Loading Loading @@ -173,6 +175,7 @@ class LauncherProxyServiceTest : SysuiTestCase() { `when`(processWrapper.isSystemUser).thenReturn(true) sysuiStatePerDisplayRepository.add(Display.DEFAULT_DISPLAY, sysUiState) runBlocking { kosmos.displayRepository.apply { addDisplay(0) } } fakeHeadlessSystemUserMode.setIsHeadlessSystemUser(false) subject = createLauncherProxyService(context) } Loading Loading @@ -424,6 +427,7 @@ class LauncherProxyServiceTest : SysuiTestCase() { processWrapper, kosmos.displayRepository, desktopState, fakeHeadlessSystemUserMode, ) } }