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

Commit f96ea103 authored by Jeff DeCew's avatar Jeff DeCew Committed by Android (Google) Code Review
Browse files

Merge "Convert NSSL debug props to FeatureFlags"

parents 752e4256 3a6efea2
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -49,6 +49,12 @@ public class Flags {
    public static final ResourceBooleanFlag NOTIFICATION_SHADE_DRAG =
            new ResourceBooleanFlag(104, R.bool.config_enableNotificationShadeDrag);

    public static final BooleanFlag NSSL_DEBUG_LINES =
            new BooleanFlag(105, false);

    public static final BooleanFlag NSSL_DEBUG_REMOVE_ANIMATION =
            new BooleanFlag(106, false);

    /***************************************/
    // 200 - keyguard/lockscreen
    public static final BooleanFlag KEYGUARD_LAYOUT =
+25 −25
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ import android.graphics.Path;
import android.graphics.PointF;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.AttributeSet;
@@ -80,6 +79,8 @@ import com.android.systemui.Dumpable;
import com.android.systemui.ExpandHelper;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.EmptyShadeView;
@@ -132,14 +133,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    public static final float BACKGROUND_ALPHA_DIMMED = 0.7f;
    private static final String TAG = "StackScroller";

    // Usage:
    // adb shell setprop persist.debug.nssl true && adb reboot
    private static final boolean DEBUG = SystemProperties.getBoolean("persist.debug.nssl",
            false /* default */);
    // TODO(b/187291379) disable again before release
    private static final boolean DEBUG_REMOVE_ANIMATION = SystemProperties.getBoolean(
            "persist.debug.nssl.dismiss", false /* default */);

    // Delay in milli-seconds before shade closes for clear all.
    private final int DELAY_BEFORE_SHADE_CLOSE = 200;
    private boolean mShadeNeedsToClose = false;
@@ -192,7 +185,12 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    private float mInitialTouchX;
    private float mInitialTouchY;

    private final boolean mDebugLines;
    private Paint mDebugPaint;
    /** Used to track the Y positions that were already used to draw debug text labels. */
    private Set<Integer> mDebugTextUsedYPositions;
    private final boolean mDebugRemoveAnimation;

    private int mContentHeight;
    private int mIntrinsicContentHeight;
    private int mCollapsedSize;
@@ -569,6 +567,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    public NotificationStackScrollLayout(Context context, AttributeSet attrs) {
        super(context, attrs, 0, 0);
        Resources res = getResources();
        FeatureFlags featureFlags = Dependency.get(FeatureFlags.class);
        mDebugLines = featureFlags.isEnabled(Flags.NSSL_DEBUG_LINES);
        mDebugRemoveAnimation = featureFlags.isEnabled(Flags.NSSL_DEBUG_REMOVE_ANIMATION);
        mSectionsManager = Dependency.get(NotificationSectionsManager.class);
        mScreenOffAnimationController =
                Dependency.get(ScreenOffAnimationController.class);
@@ -591,10 +592,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
                res.getBoolean(R.bool.config_drawNotificationBackground);
        setOutlineProvider(mOutlineProvider);

        boolean willDraw = mShouldDrawNotificationBackground || DEBUG;
        boolean willDraw = mShouldDrawNotificationBackground || mDebugLines;
        setWillNotDraw(!willDraw);
        mBackgroundPaint.setAntiAlias(true);
        if (DEBUG) {
        if (mDebugLines) {
            mDebugPaint = new Paint();
            mDebugPaint.setColor(0xffff0000);
            mDebugPaint.setStrokeWidth(2);
@@ -729,18 +730,17 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
            drawHeadsUpBackground(canvas);
        }

        if (DEBUG) {
        if (mDebugLines) {
            onDrawDebug(canvas);
        }
    }

    /** Used to track the Y positions that were already used to draw debug text labels. */
    private static final Set<Integer> DEBUG_TEXT_USED_Y_POSITIONS =
            DEBUG ? new HashSet<>() : Collections.emptySet();

    private void onDrawDebug(Canvas canvas) {
        DEBUG_TEXT_USED_Y_POSITIONS.clear();

        if (mDebugTextUsedYPositions == null) {
            mDebugTextUsedYPositions = new HashSet<>();
        } else {
            mDebugTextUsedYPositions.clear();
        }
        int y = mTopPadding;
        drawDebugInfo(canvas, y, Color.RED, /* label= */ "mTopPadding");

@@ -776,10 +776,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable

    private int computeDebugYTextPosition(int lineY) {
        int textY = lineY;
        while (DEBUG_TEXT_USED_Y_POSITIONS.contains(textY)) {
        while (mDebugTextUsedYPositions.contains(textY)) {
            textY = (int) (textY + mDebugPaint.getTextSize());
        }
        DEBUG_TEXT_USED_Y_POSITIONS.add(textY);
        mDebugTextUsedYPositions.add(textY);
        return textY;
    }

@@ -2702,14 +2702,14 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
    boolean generateRemoveAnimation(ExpandableView child) {
        String key = "";
        if (DEBUG_REMOVE_ANIMATION) {
        if (mDebugRemoveAnimation) {
            if (child instanceof ExpandableNotificationRow) {
                key = ((ExpandableNotificationRow) child).getEntry().getKey();
            }
            Log.d(TAG, "generateRemoveAnimation " + key);
        }
        if (removeRemovedChildFromHeadsUpChangeAnimations(child)) {
            if (DEBUG_REMOVE_ANIMATION) {
            if (mDebugRemoveAnimation) {
                Log.d(TAG, "removedBecauseOfHeadsUp " + key);
            }
            mAddedHeadsUpChildren.remove(child);
@@ -2720,7 +2720,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
            mClearTransientViewsWhenFinished.add(child);
            return true;
        }
        if (DEBUG_REMOVE_ANIMATION) {
        if (mDebugRemoveAnimation) {
            Log.d(TAG, "generateRemove " + key
                    + "\nmIsExpanded " + mIsExpanded
                    + "\nmAnimationsEnabled " + mAnimationsEnabled
@@ -2728,7 +2728,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        }
        if (mIsExpanded && mAnimationsEnabled && !isChildInInvisibleGroup(child)) {
            if (!mChildrenToAddAnimated.contains(child)) {
                if (DEBUG_REMOVE_ANIMATION) {
                if (mDebugRemoveAnimation) {
                    Log.d(TAG, "needsAnimation = true " + key);
                }
                // Generate Animations
@@ -3227,7 +3227,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
                    ignoreChildren);
            mAnimationEvents.add(event);
            mSwipedOutViews.remove(child);
            if (DEBUG_REMOVE_ANIMATION) {
            if (mDebugRemoveAnimation) {
                String key = "";
                if (child instanceof ExpandableNotificationRow) {
                    key = ((ExpandableNotificationRow) child).getEntry().getKey();