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

Commit f56eee70 authored by Winson Chung's avatar Winson Chung
Browse files

Isolate shell dependencies



- Add initializer path for required shell dependencies
- Move shell dependencies into WMComponent scope, and expose shell
  features to SysUIComponent explicitly
- Moved temporary Bubble's specific dependencies to global scope until
  the migration finishes

Bug: 162923491
Test: atest WMShellUnitTestsWMShellUnitTests
Test: make SystemUIGoogle CarSystemUI ArcSystemUI AAECarSystemUI
Test: Verify pip/split/onehanded/bubbles still works

Change-Id: Ibaa8b5a718f32a1fff49d1756a18a009d6ad164f
Signed-off-by: default avatarWinson Chung <winsonc@google.com>
parent fe82ad21
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -69,11 +69,6 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged
    private final SparseArray<PerDisplay> mImePerDisplay = new SparseArray<>();
    private final ArrayList<ImePositionProcessor> mPositionProcessors = new ArrayList<>();

    @Deprecated
    public DisplayImeController(IWindowManager wmService, DisplayController displayController,
            Handler mainHandler, TransactionPool transactionPool) {
        this(wmService, displayController, mainHandler::post, transactionPool);
    }

    public DisplayImeController(IWindowManager wmService, DisplayController displayController,
            Executor mainExecutor, TransactionPool transactionPool) {
+2 −2
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ public interface Pip {
    /**
     * Hides the PIP menu.
     */
    void hidePipMenu(Runnable onStartCallback, Runnable onEndCallback);
    default void hidePipMenu(Runnable onStartCallback, Runnable onEndCallback) {}

    /**
     * Returns {@code true} if PIP is shown.
@@ -226,7 +226,7 @@ public interface Pip {
    /**
     * Called when showing Pip menu.
     */
    void showPictureInPictureMenu();
    default void showPictureInPictureMenu() {}

    /**
     * Suspends resizing operation on the Pip until {@link #resumePipResizing} is called.
+7 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui;
import com.android.systemui.dagger.GlobalModule;
import com.android.systemui.dagger.GlobalRootComponent;
import com.android.systemui.dagger.WMModule;
import com.android.systemui.wmshell.CarWMComponent;

import javax.inject.Singleton;

@@ -41,6 +42,12 @@ public interface CarGlobalRootComponent extends GlobalRootComponent {
        CarGlobalRootComponent build();
    }

    /**
     * Builder for a WMComponent.
     */
    @Override
    CarWMComponent.Builder getWMComponentBuilder();

    @Override
    CarSysUIComponent.Builder getSysUIComponent();
}
+1 −3
Original line number Diff line number Diff line
@@ -64,7 +64,6 @@ import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.volume.VolumeDialogComponent;
import com.android.systemui.wmshell.CarWMShellModule;

import javax.inject.Named;

@@ -74,8 +73,7 @@ import dagger.Provides;

@Module(
        includes = {
                QSModule.class,
                CarWMShellModule.class
                QSModule.class
        })
abstract class CarSystemUIModule {

+39 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2020 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.systemui.wmshell;

import com.android.systemui.dagger.WMComponent;
import com.android.systemui.dagger.WMSingleton;

import dagger.Subcomponent;


/**
 * Dagger Subcomponent for WindowManager.
 */
@WMSingleton
@Subcomponent(modules = {CarWMShellModule.class})
public interface CarWMComponent extends WMComponent {

    /**
     * Builder for a SysUIComponent.
     */
    @Subcomponent.Builder
    interface Builder extends WMComponent.Builder {
        CarWMComponent build();
    }
}
Loading