Add single interface for SysUI to call into Shell

- Currently update configuration callbacks to use this interface
  so that individual features don't need to expose their own config
  change callbacks.  Will followup with moving keyguard/shell init
  /shell command handler.

Bug: 238217847
Test: atest WMShellUnitTests

Change-Id: Id526ed588de8cf962e821a3b9e1933a67f354d77
This commit is contained in:
Winson Chung
2022-07-13 17:26:23 +00:00
parent 28eb5d5f7c
commit b5ebf4bede
34 changed files with 738 additions and 278 deletions

View File

@@ -27,6 +27,7 @@ import com.android.systemui.dagger.SysUIComponent;
import com.android.systemui.dagger.WMComponent;
import com.android.systemui.util.InitializationChecker;
import com.android.wm.shell.dagger.WMShellConcurrencyModule;
import com.android.wm.shell.sysui.ShellInterface;
import com.android.wm.shell.transition.ShellTransitions;
import java.util.Optional;
@@ -90,6 +91,7 @@ public abstract class SystemUIInitializer {
// Only initialize when not starting from tests since this currently initializes some
// components that shouldn't be run in the test environment
builder = prepareSysUIComponentBuilder(builder, mWMComponent)
.setShell(mWMComponent.getShell())
.setPip(mWMComponent.getPip())
.setSplitScreen(mWMComponent.getSplitScreen())
.setOneHanded(mWMComponent.getOneHanded())
@@ -109,6 +111,7 @@ public abstract class SystemUIInitializer {
// TODO: Call on prepareSysUIComponentBuilder but not with real components. Other option
// is separating this logic into newly creating SystemUITestsFactory.
builder = prepareSysUIComponentBuilder(builder, mWMComponent)
.setShell(new ShellInterface() {})
.setPip(Optional.ofNullable(null))
.setSplitScreen(Optional.ofNullable(null))
.setOneHanded(Optional.ofNullable(null))