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

Commit 4843a4da authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Remove call to getComponent(StatusBar) from ScreenDecorations."

parents 38a8eca4 4ddc25b9
Loading
Loading
Loading
Loading
+16 −7
Original line number Diff line number Diff line
@@ -81,10 +81,16 @@ import com.android.systemui.util.leak.RotationUtils;
import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;
import javax.inject.Singleton;

import dagger.Lazy;

/**
 * An overlay that draws screen decorations in software (e.g for rounded corners or display cutout)
 * for antialiasing and emulation purposes.
 */
@Singleton
public class ScreenDecorations extends SystemUI implements Tunable {
    private static final boolean DEBUG = false;
    private static final String TAG = "ScreenDecorations";
@@ -94,6 +100,7 @@ public class ScreenDecorations extends SystemUI implements Tunable {
    private static final boolean DEBUG_SCREENSHOT_ROUNDED_CORNERS =
            SystemProperties.getBoolean("debug.screenshot_rounded_corners", false);
    private static final boolean VERBOSE = false;
    private final Lazy<StatusBar> mStatusBarLazy;

    private DisplayManager mDisplayManager;
    private DisplayManager.DisplayListener mDisplayListener;
@@ -132,8 +139,10 @@ public class ScreenDecorations extends SystemUI implements Tunable {
        return result;
    }

    public ScreenDecorations(Context context) {
    @Inject
    public ScreenDecorations(Context context, Lazy<StatusBar> statusBarLazy) {
        super(context);
        mStatusBarLazy = statusBarLazy;
    }

    @Override
@@ -434,13 +443,13 @@ public class ScreenDecorations extends SystemUI implements Tunable {

    private void setupStatusBarPadding(int padding) {
        // Add some padding to all the content near the edge of the screen.
        StatusBar sb = getComponent(StatusBar.class);
        View statusBar = (sb != null ? sb.getStatusBarWindow() : null);
        if (statusBar != null) {
            TunablePadding.addTunablePadding(statusBar.findViewById(R.id.keyguard_header), PADDING,
                    padding, FLAG_END);
        StatusBar statusBar = mStatusBarLazy.get();
        View statusBarWindow = statusBar.getStatusBarWindow();
        if (statusBarWindow != null) {
            TunablePadding.addTunablePadding(statusBarWindow.findViewById(R.id.keyguard_header),
                    PADDING, padding, FLAG_END);

            FragmentHostManager fragmentHostManager = FragmentHostManager.get(statusBar);
            FragmentHostManager fragmentHostManager = FragmentHostManager.get(statusBarWindow);
            fragmentHostManager.addTagListener(CollapsedStatusBarFragment.TAG,
                    new TunablePaddingTagListener(padding, R.id.status_bar));
            fragmentHostManager.addTagListener(QS.TAG,
+6 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.dagger;

import com.android.systemui.LatencyTester;
import com.android.systemui.ScreenDecorations;
import com.android.systemui.SystemUI;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.pip.PipUI;
@@ -73,6 +74,11 @@ public abstract class SystemUIBinder {
    @ClassKey(Recents.class)
    public abstract SystemUI bindRecents(Recents sysui);

    /** Inject into ScreenDecorations. */
    @Binds
    @IntoMap
    @ClassKey(ScreenDecorations.class)
    public abstract SystemUI bindScreenDecorations(ScreenDecorations sysui);

    /** Inject into VolumeUI. */
    @Binds
+10 −4
Original line number Diff line number Diff line
@@ -61,9 +61,13 @@ import com.android.systemui.tuner.TunerService;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import java.util.Collections;

import dagger.Lazy;

@RunWithLooper
@RunWith(AndroidTestingRunner.class)
@SmallTest
@@ -71,16 +75,19 @@ public class ScreenDecorationsTest extends SysuiTestCase {

    private TestableLooper mTestableLooper;
    private ScreenDecorations mScreenDecorations;
    private StatusBar mStatusBar;
    @Mock private StatusBar mStatusBar;
    private WindowManager mWindowManager;
    private FragmentService mFragmentService;
    private FragmentHostManager mFragmentHostManager;
    private TunerService mTunerService;
    private StatusBarWindowView mView;
    private TunablePaddingService mTunablePaddingService;
    @Mock private Lazy<StatusBar> mStatusBarLazy;

    @Before
    public void setup() {
        MockitoAnnotations.initMocks(this);

        mTestableLooper = TestableLooper.get(this);
        mDependency.injectTestDependency(Dependency.MAIN_HANDLER,
                new Handler(mTestableLooper.getLooper()));
@@ -88,11 +95,10 @@ public class ScreenDecorationsTest extends SysuiTestCase {
        mTunerService = mDependency.injectMockDependency(TunerService.class);
        mFragmentService = mDependency.injectMockDependency(FragmentService.class);

        mStatusBar = mock(StatusBar.class);
        mWindowManager = mock(WindowManager.class);
        mView = spy(new StatusBarWindowView(mContext, null));
        when(mStatusBarLazy.get()).thenReturn(mStatusBar);
        when(mStatusBar.getStatusBarWindow()).thenReturn(mView);
        mContext.putComponent(StatusBar.class, mStatusBar);

        Display display = mContext.getSystemService(WindowManager.class).getDefaultDisplay();
        when(mWindowManager.getDefaultDisplay()).thenReturn(display);
@@ -102,7 +108,7 @@ public class ScreenDecorationsTest extends SysuiTestCase {
        when(mFragmentService.getFragmentHostManager(any())).thenReturn(mFragmentHostManager);


        mScreenDecorations = new ScreenDecorations(mContext) {
        mScreenDecorations = new ScreenDecorations(mContext, mStatusBarLazy) {
            @Override
            public void start() {
                super.start();