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

Commit 58dd8472 authored by Nikolas Havrikov's avatar Nikolas Havrikov
Browse files

Avoid Dependency.get in InvocationLightsView

Fix: 218350934
Test: presubmit
Change-Id: Ic45c9293c01748023562aca9320ce639d6daa374
parent 22541cb0
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -35,18 +35,19 @@ import android.widget.FrameLayout;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.res.R;
import com.android.systemui.assist.AssistLogger;
import com.android.systemui.assist.AssistManager;
import com.android.systemui.assist.AssistantSessionEvent;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.navigationbar.NavigationBarController;
import com.android.systemui.res.R;

import dagger.Lazy;

import java.util.Locale;

import javax.inject.Inject;

import dagger.Lazy;

/**
 * Default UiController implementation. Shows white edge lights along the bottom of the phone,
 * expanding from the corners to meet in the center.
@@ -80,7 +81,8 @@ public class DefaultUiController implements AssistManager.UiController {
    @Inject
    public DefaultUiController(Context context, AssistLogger assistLogger,
            WindowManager windowManager, MetricsLogger metricsLogger,
            Lazy<AssistManager> assistManagerLazy) {
            Lazy<AssistManager> assistManagerLazy,
            NavigationBarController navigationBarController) {
        mAssistLogger = assistLogger;
        mRoot = new FrameLayout(context);
        mWindowManager = windowManager;
@@ -103,6 +105,7 @@ public class DefaultUiController implements AssistManager.UiController {

        mInvocationLightsView = (InvocationLightsView)
                LayoutInflater.from(context).inflate(R.layout.invocation_lights, mRoot, false);
        mInvocationLightsView.setNavigationBarController(navigationBarController);
        mRoot.addView(mInvocationLightsView);
    }

+12 −9
Original line number Diff line number Diff line
@@ -31,11 +31,10 @@ import android.view.ContextThemeWrapper;
import android.view.View;

import com.android.settingslib.Utils;
import com.android.systemui.Dependency;
import com.android.systemui.res.R;
import com.android.systemui.navigationbar.NavigationBarController;
import com.android.systemui.navigationbar.NavigationBar;
import com.android.systemui.navigationbar.NavigationBarController;
import com.android.systemui.navigationbar.NavigationBarTransitions;
import com.android.systemui.res.R;

import java.util.ArrayList;

@@ -64,6 +63,8 @@ public class InvocationLightsView extends View
    private final int mLightColor;
    @ColorInt
    private final int mDarkColor;
    @Nullable
    private NavigationBarController mNavigationBarController;

    // Allocate variable for screen location lookup to avoid memory alloc onDraw()
    private int[] mScreenLocation = new int[2];
@@ -279,12 +280,11 @@ public class InvocationLightsView extends View

    private void attemptRegisterNavBarListener() {
        if (!mRegistered) {
            NavigationBarController controller = Dependency.get(NavigationBarController.class);
            if (controller == null) {
            if (mNavigationBarController == null) {
                return;
            }

            NavigationBar navBar = controller.getDefaultNavigationBar();
            NavigationBar navBar = mNavigationBarController.getDefaultNavigationBar();
            if (navBar == null) {
                return;
            }
@@ -296,12 +296,11 @@ public class InvocationLightsView extends View

    private void attemptUnregisterNavBarListener() {
        if (mRegistered) {
            NavigationBarController controller = Dependency.get(NavigationBarController.class);
            if (controller == null) {
            if (mNavigationBarController == null) {
                return;
            }

            NavigationBar navBar = controller.getDefaultNavigationBar();
            NavigationBar navBar = mNavigationBarController.getDefaultNavigationBar();
            if (navBar == null) {
                return;
            }
@@ -310,4 +309,8 @@ public class InvocationLightsView extends View
            mRegistered = false;
        }
    }

    public void setNavigationBarController(NavigationBarController navigationBarController) {
        mNavigationBarController = navigationBarController;
    }
}