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

Commit 2145a916 authored by Jeff DeCew's avatar Jeff DeCew Committed by Automerger Merge Worker
Browse files

Merge "Improve performance of logging logic in LightBarController" into...

Merge "Improve performance of logging logic in LightBarController" into udc-dev am: a9401052 am: 47c8bddc

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23375736



Change-Id: Id99256486b093aaf789ba51807e2b81237d24d2a
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 4a7baf5f 47c8bddc
Loading
Loading
Loading
Loading
+75 −47
Original line number Diff line number Diff line
@@ -30,6 +30,8 @@ import android.view.InsetsFlags;
import android.view.ViewDebug;
import android.view.WindowInsetsController.Appearance;

import androidx.annotation.NonNull;

import com.android.internal.colorextraction.ColorExtractor.GradientColors;
import com.android.internal.view.AppearanceRegion;
import com.android.systemui.Dumpable;
@@ -46,7 +48,6 @@ import com.android.systemui.util.Compile;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;

import javax.inject.Inject;

@@ -57,7 +58,8 @@ import javax.inject.Inject;
public class LightBarController implements BatteryController.BatteryStateChangeCallback, Dumpable {

    private static final String TAG = "LightBarController";
    private static final boolean DEBUG = Compile.IS_DEBUG && Log.isLoggable(TAG, Log.DEBUG);
    private static final boolean DEBUG_NAVBAR = Compile.IS_DEBUG;
    private static final boolean DEBUG_LOGS = Compile.IS_DEBUG && Log.isLoggable(TAG, Log.DEBUG);

    private static final float NAV_BAR_INVERSION_SCRIM_ALPHA_THRESHOLD = 0.1f;

@@ -113,6 +115,7 @@ public class LightBarController implements BatteryController.BatteryStateChangeC

    private String mLastSetScrimStateLog;
    private String mLastNavigationBarAppearanceChangedLog;
    private StringBuilder mLogStringBuilder = null;

    @Inject
    public LightBarController(
@@ -193,35 +196,43 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
                final boolean darkForTop = darkForQs || mGlobalActionsVisible;
                mNavigationLight =
                        ((mHasLightNavigationBar && !darkForScrim) || lightForScrim) && !darkForTop;
                mLastNavigationBarAppearanceChangedLog = "onNavigationBarAppearanceChanged()"
                        + " appearance=" + appearance
                        + " nbModeChanged=" + nbModeChanged
                        + " navigationBarMode=" + navigationBarMode
                        + " navbarColorManagedByIme=" + navbarColorManagedByIme
                        + " mHasLightNavigationBar=" + mHasLightNavigationBar
                        + " ignoreScrimForce=" + ignoreScrimForce
                        + " darkForScrim=" + darkForScrim
                        + " lightForScrim=" + lightForScrim
                        + " darkForQs=" + darkForQs
                        + " darkForTop=" + darkForTop
                        + " mNavigationLight=" + mNavigationLight
                        + " last=" + last
                        + " timestamp=" + new Date();
                if (DEBUG) Log.d(TAG, mLastNavigationBarAppearanceChangedLog);
                if (DEBUG_NAVBAR) {
                    mLastNavigationBarAppearanceChangedLog = getLogStringBuilder()
                            .append("onNavigationBarAppearanceChanged()")
                            .append(" appearance=").append(appearance)
                            .append(" nbModeChanged=").append(nbModeChanged)
                            .append(" navigationBarMode=").append(navigationBarMode)
                            .append(" navbarColorManagedByIme=").append(navbarColorManagedByIme)
                            .append(" mHasLightNavigationBar=").append(mHasLightNavigationBar)
                            .append(" ignoreScrimForce=").append(ignoreScrimForce)
                            .append(" darkForScrim=").append(darkForScrim)
                            .append(" lightForScrim=").append(lightForScrim)
                            .append(" darkForQs=").append(darkForQs)
                            .append(" darkForTop=").append(darkForTop)
                            .append(" mNavigationLight=").append(mNavigationLight)
                            .append(" last=").append(last)
                            .append(" timestamp=").append(System.currentTimeMillis())
                            .toString();
                    if (DEBUG_LOGS) Log.d(TAG, mLastNavigationBarAppearanceChangedLog);
                }
            } else {
                mNavigationLight = mHasLightNavigationBar
                        && (mDirectReplying && mNavbarColorManagedByIme || !mForceDarkForScrim)
                        && !mQsCustomizing;
                mLastNavigationBarAppearanceChangedLog = "onNavigationBarAppearanceChanged()"
                        + " appearance=" + appearance
                        + " nbModeChanged=" + nbModeChanged
                        + " navigationBarMode=" + navigationBarMode
                        + " navbarColorManagedByIme=" + navbarColorManagedByIme
                        + " mHasLightNavigationBar=" + mHasLightNavigationBar
                        + " mNavigationLight=" + mNavigationLight
                        + " last=" + last
                        + " timestamp=" + new Date();
                if (DEBUG) Log.d(TAG, mLastNavigationBarAppearanceChangedLog);
                if (DEBUG_NAVBAR) {
                    mLastNavigationBarAppearanceChangedLog = getLogStringBuilder()
                            .append("onNavigationBarAppearanceChanged()")
                            .append(" appearance=").append(appearance)
                            .append(" nbModeChanged=").append(nbModeChanged)
                            .append(" navigationBarMode=").append(navigationBarMode)
                            .append(" navbarColorManagedByIme=").append(navbarColorManagedByIme)
                            .append(" mHasLightNavigationBar=").append(mHasLightNavigationBar)
                            .append(" mNavigationLight=").append(mNavigationLight)
                            .append(" last=").append(last)
                            .append(" timestamp=").append(System.currentTimeMillis())
                            .toString();
                    if (DEBUG_LOGS) Log.d(TAG, mLastNavigationBarAppearanceChangedLog);
                }
            }
            if (mNavigationLight != last) {
                updateNavigation();
@@ -319,18 +330,22 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
            } else {
                if (mForceLightForScrim != forceLightForScrimLast) reevaluate();
            }
            mLastSetScrimStateLog = "setScrimState()"
                    + " scrimState=" + scrimState
                    + " scrimBehindAlpha=" + scrimBehindAlpha
                    + " scrimInFrontColor=" + scrimInFrontColor
                    + " forceForScrim=" + forceForScrim
                    + " scrimColorIsLight=" + scrimColorIsLight
                    + " mHasLightNavigationBar=" + mHasLightNavigationBar
                    + " mBouncerVisible=" + mBouncerVisible
                    + " mForceDarkForScrim=" + mForceDarkForScrim
                    + " mForceLightForScrim=" + mForceLightForScrim
                    + " timestamp=" + new Date();
            if (DEBUG) Log.d(TAG, mLastSetScrimStateLog);
            if (DEBUG_NAVBAR) {
                mLastSetScrimStateLog = getLogStringBuilder()
                        .append("setScrimState()")
                        .append(" scrimState=").append(scrimState)
                        .append(" scrimBehindAlpha=").append(scrimBehindAlpha)
                        .append(" scrimInFrontColor=").append(scrimInFrontColor)
                        .append(" forceForScrim=").append(forceForScrim)
                        .append(" scrimColorIsLight=").append(scrimColorIsLight)
                        .append(" mHasLightNavigationBar=").append(mHasLightNavigationBar)
                        .append(" mBouncerVisible=").append(mBouncerVisible)
                        .append(" mForceDarkForScrim=").append(mForceDarkForScrim)
                        .append(" mForceLightForScrim=").append(mForceLightForScrim)
                        .append(" timestamp=").append(System.currentTimeMillis())
                        .toString();
                if (DEBUG_LOGS) Log.d(TAG, mLastSetScrimStateLog);
            }
        } else {
            boolean forceDarkForScrimLast = mForceDarkForScrim;
            // For BOUNCER/BOUNCER_SCRIMMED cases, we assume that alpha is always below threshold.
@@ -344,15 +359,28 @@ public class LightBarController implements BatteryController.BatteryStateChangeC
            if (mHasLightNavigationBar && (mForceDarkForScrim != forceDarkForScrimLast)) {
                reevaluate();
            }
            mLastSetScrimStateLog = "setScrimState()"
                    + " scrimState=" + scrimState
                    + " scrimBehindAlpha=" + scrimBehindAlpha
                    + " scrimInFrontColor=" + scrimInFrontColor
                    + " mHasLightNavigationBar=" + mHasLightNavigationBar
                    + " mForceDarkForScrim=" + mForceDarkForScrim
                    + " timestamp=" + new Date();
            if (DEBUG) Log.d(TAG, mLastSetScrimStateLog);
            if (DEBUG_NAVBAR) {
                mLastSetScrimStateLog = getLogStringBuilder()
                        .append("setScrimState()")
                        .append(" scrimState=").append(scrimState)
                        .append(" scrimBehindAlpha=").append(scrimBehindAlpha)
                        .append(" scrimInFrontColor=").append(scrimInFrontColor)
                        .append(" mHasLightNavigationBar=").append(mHasLightNavigationBar)
                        .append(" mForceDarkForScrim=").append(mForceDarkForScrim)
                        .append(" timestamp=").append(System.currentTimeMillis())
                        .toString();
                if (DEBUG_LOGS) Log.d(TAG, mLastSetScrimStateLog);
            }
        }
    }

    @NonNull
    private StringBuilder getLogStringBuilder() {
        if (mLogStringBuilder == null) {
            mLogStringBuilder = new StringBuilder();
        }
        mLogStringBuilder.setLength(0);
        return mLogStringBuilder;
    }

    private static boolean isLight(int appearance, int barMode, int flag) {