Loading libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayImeController.java +29 −1 Original line number Diff line number Diff line Loading @@ -68,12 +68,15 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged private final SparseArray<PerDisplay> mImePerDisplay = new SparseArray<>(); private final ArrayList<ImePositionProcessor> mPositionProcessors = new ArrayList<>(); public DisplayImeController(IWindowManager wmService, DisplayController displayController, protected DisplayImeController(IWindowManager wmService, DisplayController displayController, Handler mainHandler, TransactionPool transactionPool) { mHandler = mainHandler; mWmService = wmService; mTransactionPool = transactionPool; mDisplayController = displayController; } protected void startMonitorDisplays() { mDisplayController.addDisplayWindowListener(this); } Loading Loading @@ -490,4 +493,29 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged return IInputMethodManager.Stub.asInterface( ServiceManager.getService(Context.INPUT_METHOD_SERVICE)); } /** Builds {@link DisplayImeController} instance. */ public static class Builder { private IWindowManager mWmService; private DisplayController mDisplayController; private Handler mHandler; private TransactionPool mTransactionPool; public Builder(IWindowManager wmService, DisplayController displayController, Handler handler, TransactionPool transactionPool) { mWmService = wmService; mDisplayController = displayController; mHandler = handler; mTransactionPool = transactionPool; } /** Builds and initializes {@link DisplayImeController} instance. */ public DisplayImeController build() { DisplayImeController displayImeController = new DisplayImeController(mWmService, mDisplayController, mHandler, mTransactionPool); // Separates startMonitorDisplays from constructor to prevent circular init issue. displayImeController.startMonitorDisplays(); return displayImeController; } } } packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java +7 −3 Original line number Diff line number Diff line Loading @@ -134,9 +134,13 @@ public abstract class CarSystemUIModule { } @Singleton @Binds abstract DisplayImeController bindDisplayImeController( DisplaySystemBarsController displaySystemBarsController); @Provides static DisplayImeController provideDisplayImeController(Context context, IWindowManager wmService, DisplayController displayController, @Main Handler mainHandler, TransactionPool transactionPool) { return new DisplaySystemBarsController.Builder(context, wmService, displayController, mainHandler, transactionPool).build(); } @Binds abstract HeadsUpManager bindHeadsUpManagerPhone(HeadsUpManagerPhone headsUpManagerPhone); Loading packages/CarSystemUI/src/com/android/systemui/wm/DisplaySystemBarsController.java +31 −7 Original line number Diff line number Diff line Loading @@ -36,25 +36,20 @@ import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.DisplayImeController; import com.android.wm.shell.common.TransactionPool; import javax.inject.Inject; import javax.inject.Singleton; /** * Controller that maps between displays and {@link IDisplayWindowInsetsController} in order to * give system bar control to SystemUI. * {@link R.bool#config_remoteInsetsControllerControlsSystemBars} determines whether this controller * takes control or not. */ @Singleton public class DisplaySystemBarsController extends DisplayImeController { private static final String TAG = "DisplaySystemBarsController"; private SparseArray<PerDisplay> mPerDisplaySparseArray; private final Context mContext; private SparseArray<PerDisplay> mPerDisplaySparseArray; @Inject public DisplaySystemBarsController( private DisplaySystemBarsController( Context context, IWindowManager wmService, DisplayController displayController, Loading Loading @@ -172,4 +167,33 @@ public class DisplaySystemBarsController extends DisplayImeController { } } } /** Builds {@link DisplaySystemBarsController} instance. */ public static class Builder { private Context mContext; private IWindowManager mWmService; private DisplayController mDisplayController; private Handler mHandler; private TransactionPool mTransactionPool; public Builder(Context context, IWindowManager wmService, DisplayController displayController, Handler handler, TransactionPool transactionPool) { mContext = context; mWmService = wmService; mDisplayController = displayController; mHandler = handler; mTransactionPool = transactionPool; } /** Builds and initializes {@link DisplaySystemBarsController} instance. */ public DisplaySystemBarsController build() { DisplaySystemBarsController displaySystemBarsController = new DisplaySystemBarsController( mContext, mWmService, mDisplayController, mHandler, mTransactionPool); // Separates startMonitorDisplays from constructor to prevent circular init issue. displaySystemBarsController.startMonitorDisplays(); return displaySystemBarsController; } } } packages/SystemUI/src/com/android/systemui/wmshell/WindowManagerShellModule.java +5 −4 Original line number Diff line number Diff line Loading @@ -59,9 +59,10 @@ public class WindowManagerShellModule { @Singleton @Provides static DisplayImeController provideDisplayImeController( IWindowManager wmService, DisplayController displayController, @Main Handler mainHandler, TransactionPool transactionPool) { return new DisplayImeController(wmService, displayController, mainHandler, transactionPool); static DisplayImeController provideDisplayImeController(IWindowManager wmService, DisplayController displayController, @Main Handler mainHandler, TransactionPool transactionPool) { return new DisplayImeController.Builder(wmService, displayController, mainHandler, transactionPool).build(); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayImeController.java +29 −1 Original line number Diff line number Diff line Loading @@ -68,12 +68,15 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged private final SparseArray<PerDisplay> mImePerDisplay = new SparseArray<>(); private final ArrayList<ImePositionProcessor> mPositionProcessors = new ArrayList<>(); public DisplayImeController(IWindowManager wmService, DisplayController displayController, protected DisplayImeController(IWindowManager wmService, DisplayController displayController, Handler mainHandler, TransactionPool transactionPool) { mHandler = mainHandler; mWmService = wmService; mTransactionPool = transactionPool; mDisplayController = displayController; } protected void startMonitorDisplays() { mDisplayController.addDisplayWindowListener(this); } Loading Loading @@ -490,4 +493,29 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged return IInputMethodManager.Stub.asInterface( ServiceManager.getService(Context.INPUT_METHOD_SERVICE)); } /** Builds {@link DisplayImeController} instance. */ public static class Builder { private IWindowManager mWmService; private DisplayController mDisplayController; private Handler mHandler; private TransactionPool mTransactionPool; public Builder(IWindowManager wmService, DisplayController displayController, Handler handler, TransactionPool transactionPool) { mWmService = wmService; mDisplayController = displayController; mHandler = handler; mTransactionPool = transactionPool; } /** Builds and initializes {@link DisplayImeController} instance. */ public DisplayImeController build() { DisplayImeController displayImeController = new DisplayImeController(mWmService, mDisplayController, mHandler, mTransactionPool); // Separates startMonitorDisplays from constructor to prevent circular init issue. displayImeController.startMonitorDisplays(); return displayImeController; } } }
packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java +7 −3 Original line number Diff line number Diff line Loading @@ -134,9 +134,13 @@ public abstract class CarSystemUIModule { } @Singleton @Binds abstract DisplayImeController bindDisplayImeController( DisplaySystemBarsController displaySystemBarsController); @Provides static DisplayImeController provideDisplayImeController(Context context, IWindowManager wmService, DisplayController displayController, @Main Handler mainHandler, TransactionPool transactionPool) { return new DisplaySystemBarsController.Builder(context, wmService, displayController, mainHandler, transactionPool).build(); } @Binds abstract HeadsUpManager bindHeadsUpManagerPhone(HeadsUpManagerPhone headsUpManagerPhone); Loading
packages/CarSystemUI/src/com/android/systemui/wm/DisplaySystemBarsController.java +31 −7 Original line number Diff line number Diff line Loading @@ -36,25 +36,20 @@ import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.DisplayImeController; import com.android.wm.shell.common.TransactionPool; import javax.inject.Inject; import javax.inject.Singleton; /** * Controller that maps between displays and {@link IDisplayWindowInsetsController} in order to * give system bar control to SystemUI. * {@link R.bool#config_remoteInsetsControllerControlsSystemBars} determines whether this controller * takes control or not. */ @Singleton public class DisplaySystemBarsController extends DisplayImeController { private static final String TAG = "DisplaySystemBarsController"; private SparseArray<PerDisplay> mPerDisplaySparseArray; private final Context mContext; private SparseArray<PerDisplay> mPerDisplaySparseArray; @Inject public DisplaySystemBarsController( private DisplaySystemBarsController( Context context, IWindowManager wmService, DisplayController displayController, Loading Loading @@ -172,4 +167,33 @@ public class DisplaySystemBarsController extends DisplayImeController { } } } /** Builds {@link DisplaySystemBarsController} instance. */ public static class Builder { private Context mContext; private IWindowManager mWmService; private DisplayController mDisplayController; private Handler mHandler; private TransactionPool mTransactionPool; public Builder(Context context, IWindowManager wmService, DisplayController displayController, Handler handler, TransactionPool transactionPool) { mContext = context; mWmService = wmService; mDisplayController = displayController; mHandler = handler; mTransactionPool = transactionPool; } /** Builds and initializes {@link DisplaySystemBarsController} instance. */ public DisplaySystemBarsController build() { DisplaySystemBarsController displaySystemBarsController = new DisplaySystemBarsController( mContext, mWmService, mDisplayController, mHandler, mTransactionPool); // Separates startMonitorDisplays from constructor to prevent circular init issue. displaySystemBarsController.startMonitorDisplays(); return displaySystemBarsController; } } }
packages/SystemUI/src/com/android/systemui/wmshell/WindowManagerShellModule.java +5 −4 Original line number Diff line number Diff line Loading @@ -59,9 +59,10 @@ public class WindowManagerShellModule { @Singleton @Provides static DisplayImeController provideDisplayImeController( IWindowManager wmService, DisplayController displayController, @Main Handler mainHandler, TransactionPool transactionPool) { return new DisplayImeController(wmService, displayController, mainHandler, transactionPool); static DisplayImeController provideDisplayImeController(IWindowManager wmService, DisplayController displayController, @Main Handler mainHandler, TransactionPool transactionPool) { return new DisplayImeController.Builder(wmService, displayController, mainHandler, transactionPool).build(); } }