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

Commit 9e572495 authored by Winson Chung's avatar Winson Chung
Browse files

Inject dependencies instead of fetching them

Bug: 134712444
Test: atest SystemUITests
Test: atest NotificationStackScrollLayoutTest (wasn't actually able to
      reproduce locally)

Change-Id: Ic1478a3eca164b844ba5721014e5591a6af02ffa
parent d07bcd4b
Loading
Loading
Loading
Loading
+14 −10
Original line number Original line Diff line number Diff line
@@ -53,7 +53,6 @@ import android.view.MotionEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityManager;


import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.systemui.Dependency;
import com.android.systemui.Dumpable;
import com.android.systemui.Dumpable;
import com.android.systemui.SysUiServiceProvider;
import com.android.systemui.SysUiServiceProvider;
import com.android.systemui.recents.OverviewProxyService.OverviewProxyListener;
import com.android.systemui.recents.OverviewProxyService.OverviewProxyListener;
@@ -100,6 +99,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis


    private final Context mContext;
    private final Context mContext;
    private final Handler mHandler;
    private final Handler mHandler;
    private final NavigationBarController mNavBarController;
    private final StatusBarWindowController mStatusBarWinController;
    private final Runnable mConnectionRunnable = this::internalConnectToCurrentUser;
    private final Runnable mConnectionRunnable = this::internalConnectToCurrentUser;
    private final ComponentName mRecentsComponentName;
    private final ComponentName mRecentsComponentName;
    private final DeviceProvisionedController mDeviceProvisionedController;
    private final DeviceProvisionedController mDeviceProvisionedController;
@@ -446,9 +447,13 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
            = this::cleanupAfterDeath;
            = this::cleanupAfterDeath;


    @Inject
    @Inject
    public OverviewProxyService(Context context, DeviceProvisionedController provisionController) {
    public OverviewProxyService(Context context, DeviceProvisionedController provisionController,
            NavigationBarController navBarController, NavigationModeController navModeController,
            StatusBarWindowController statusBarWinController) {
        mContext = context;
        mContext = context;
        mHandler = new Handler();
        mHandler = new Handler();
        mNavBarController = navBarController;
        mStatusBarWinController = statusBarWinController;
        mDeviceProvisionedController = provisionController;
        mDeviceProvisionedController = provisionController;
        mConnectionBackoffAttempts = 0;
        mConnectionBackoffAttempts = 0;
        mRecentsComponentName = ComponentName.unflattenFromString(context.getString(
        mRecentsComponentName = ComponentName.unflattenFromString(context.getString(
@@ -463,7 +468,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        mBackButtonAlpha = 1.0f;
        mBackButtonAlpha = 1.0f;


        // Listen for nav bar mode changes
        // Listen for nav bar mode changes
        mNavBarMode = Dependency.get(NavigationModeController.class).addListener(this);
        mNavBarMode = navModeController.addListener(this);


        // Listen for device provisioned/user setup
        // Listen for device provisioned/user setup
        updateEnabledState();
        updateEnabledState();
@@ -513,11 +518,10 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
    }
    }


    private void updateSystemUiStateFlags() {
    private void updateSystemUiStateFlags() {
        final NavigationBarController navBar = Dependency.get(NavigationBarController.class);
        final NavigationBarFragment navBarFragment =
        final NavigationBarFragment navBarFragment = navBar.getDefaultNavigationBarFragment();
                mNavBarController.getDefaultNavigationBarFragment();
        final NavigationBarView navBarView = navBar.getNavigationBarView(mContext.getDisplayId());
        final NavigationBarView navBarView =
        final StatusBarWindowController statusBarController =
                mNavBarController.getNavigationBarView(mContext.getDisplayId());
                Dependency.get(StatusBarWindowController.class);


        mSysUiStateFlags = 0;
        mSysUiStateFlags = 0;
        if (navBarFragment != null) {
        if (navBarFragment != null) {
@@ -526,8 +530,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        if (navBarView != null) {
        if (navBarView != null) {
            navBarView.updateSystemUiStateFlags();
            navBarView.updateSystemUiStateFlags();
        }
        }
        if (statusBarController != null) {
        if (mStatusBarWinController != null) {
            statusBarController.updateSystemUiStateFlags();
            mStatusBarWinController.updateSystemUiStateFlags();
        }
        }
        notifySystemUiStateFlags(mSysUiStateFlags);
        notifySystemUiStateFlags(mSysUiStateFlags);
    }
    }
+5 −2
Original line number Original line Diff line number Diff line
@@ -136,6 +136,7 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
    protected final AssistManager mAssistManager;
    protected final AssistManager mAssistManager;
    private final MetricsLogger mMetricsLogger;
    private final MetricsLogger mMetricsLogger;
    private final DeviceProvisionedController mDeviceProvisionedController;
    private final DeviceProvisionedController mDeviceProvisionedController;
    private final StatusBarStateController mStatusBarStateController;


    protected NavigationBarView mNavigationBarView = null;
    protected NavigationBarView mNavigationBarView = null;


@@ -244,9 +245,11 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
    public NavigationBarFragment(AccessibilityManagerWrapper accessibilityManagerWrapper,
    public NavigationBarFragment(AccessibilityManagerWrapper accessibilityManagerWrapper,
            DeviceProvisionedController deviceProvisionedController, MetricsLogger metricsLogger,
            DeviceProvisionedController deviceProvisionedController, MetricsLogger metricsLogger,
            AssistManager assistManager, OverviewProxyService overviewProxyService,
            AssistManager assistManager, OverviewProxyService overviewProxyService,
            NavigationModeController navigationModeController) {
            NavigationModeController navigationModeController,
            StatusBarStateController statusBarStateController) {
        mAccessibilityManagerWrapper = accessibilityManagerWrapper;
        mAccessibilityManagerWrapper = accessibilityManagerWrapper;
        mDeviceProvisionedController = deviceProvisionedController;
        mDeviceProvisionedController = deviceProvisionedController;
        mStatusBarStateController = statusBarStateController;
        mMetricsLogger = metricsLogger;
        mMetricsLogger = metricsLogger;
        mAssistManager = assistManager;
        mAssistManager = assistManager;
        mAssistantAvailable = mAssistManager.getAssistInfoForUser(UserHandle.USER_CURRENT) != null;
        mAssistantAvailable = mAssistManager.getAssistInfoForUser(UserHandle.USER_CURRENT) != null;
@@ -951,7 +954,7 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
    public void touchAutoDim() {
    public void touchAutoDim() {
        getBarTransitions().setAutoDim(false);
        getBarTransitions().setAutoDim(false);
        mHandler.removeCallbacks(mAutoDim);
        mHandler.removeCallbacks(mAutoDim);
        int state = Dependency.get(StatusBarStateController.class).getState();
        int state = mStatusBarStateController.getState();
        if (state != StatusBarState.KEYGUARD && state != StatusBarState.SHADE_LOCKED) {
        if (state != StatusBarState.KEYGUARD && state != StatusBarState.SHADE_LOCKED) {
            mHandler.postDelayed(mAutoDim, AUTODIM_TIMEOUT_MS);
            mHandler.postDelayed(mAutoDim, AUTODIM_TIMEOUT_MS);
        }
        }
+3 −1
Original line number Original line Diff line number Diff line
@@ -56,6 +56,7 @@ import com.android.systemui.Dependency;
import com.android.systemui.SysuiBaseFragmentTest;
import com.android.systemui.SysuiBaseFragmentTest;
import com.android.systemui.SysuiTestableContext;
import com.android.systemui.SysuiTestableContext;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.recents.Recents;
import com.android.systemui.recents.Recents;
import com.android.systemui.stackdivider.Divider;
import com.android.systemui.stackdivider.Divider;
@@ -215,7 +216,8 @@ public class NavigationBarFragmentTest extends SysuiBaseFragmentTest {
                new MetricsLogger(),
                new MetricsLogger(),
                mock(AssistManager.class),
                mock(AssistManager.class),
                mOverviewProxyService,
                mOverviewProxyService,
                mock(NavigationModeController.class));
                mock(NavigationModeController.class),
                mock(StatusBarStateController.class));
    }
    }


    private class HostCallbacksForExternalDisplay extends
    private class HostCallbacksForExternalDisplay extends