Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +45 −23 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.function.BiConsumer; import java.util.function.Consumer; Loading Loading @@ -726,36 +727,57 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable } if (DEBUG) { 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(); int y = mTopPadding; mDebugPaint.setColor(Color.RED); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.RED, /* label= */ "mTopPadding"); y = getLayoutHeight(); mDebugPaint.setColor(Color.YELLOW); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.YELLOW, /* label= */ "getLayoutHeight()"); y = (int) mMaxLayoutHeight; mDebugPaint.setColor(Color.MAGENTA); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.MAGENTA, /* label= */ "mMaxLayoutHeight"); if (mKeyguardBottomPadding >= 0) { y = getHeight() - (int) mKeyguardBottomPadding; mDebugPaint.setColor(Color.GRAY); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.GRAY, /* label= */ "getHeight() - mKeyguardBottomPadding"); } y = getHeight() - getEmptyBottomMargin(); mDebugPaint.setColor(Color.GREEN); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.GREEN, /* label= */ "getHeight() - getEmptyBottomMargin()"); y = (int) (mAmbientState.getStackY()); mDebugPaint.setColor(Color.CYAN); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.CYAN, /* label= */ "mAmbientState.getStackY()"); y = (int) (mAmbientState.getStackY() + mAmbientState.getStackHeight()); mDebugPaint.setColor(Color.BLUE); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.BLUE, /* label= */ "mAmbientState.getStackY() + mAmbientState.getStackHeight()"); } private void drawDebugInfo(Canvas canvas, int y, int color, String label) { mDebugPaint.setColor(color); canvas.drawLine(/* startX= */ 0, /* startY= */ y, /* stopX= */ getWidth(), /* stopY= */ y, mDebugPaint); canvas.drawText(label, /* x= */ 0, /* y= */ computeDebugYTextPosition(y), mDebugPaint); } private int computeDebugYTextPosition(int lineY) { int textY = lineY; while (DEBUG_TEXT_USED_Y_POSITIONS.contains(textY)) { textY = (int) (textY + mDebugPaint.getTextSize()); } DEBUG_TEXT_USED_Y_POSITIONS.add(textY); return textY; } @ShadeViewRefactor(RefactorComponent.DECORATOR) Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +45 −23 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.function.BiConsumer; import java.util.function.Consumer; Loading Loading @@ -726,36 +727,57 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable } if (DEBUG) { 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(); int y = mTopPadding; mDebugPaint.setColor(Color.RED); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.RED, /* label= */ "mTopPadding"); y = getLayoutHeight(); mDebugPaint.setColor(Color.YELLOW); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.YELLOW, /* label= */ "getLayoutHeight()"); y = (int) mMaxLayoutHeight; mDebugPaint.setColor(Color.MAGENTA); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.MAGENTA, /* label= */ "mMaxLayoutHeight"); if (mKeyguardBottomPadding >= 0) { y = getHeight() - (int) mKeyguardBottomPadding; mDebugPaint.setColor(Color.GRAY); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.GRAY, /* label= */ "getHeight() - mKeyguardBottomPadding"); } y = getHeight() - getEmptyBottomMargin(); mDebugPaint.setColor(Color.GREEN); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.GREEN, /* label= */ "getHeight() - getEmptyBottomMargin()"); y = (int) (mAmbientState.getStackY()); mDebugPaint.setColor(Color.CYAN); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.CYAN, /* label= */ "mAmbientState.getStackY()"); y = (int) (mAmbientState.getStackY() + mAmbientState.getStackHeight()); mDebugPaint.setColor(Color.BLUE); canvas.drawLine(0, y, getWidth(), y, mDebugPaint); drawDebugInfo(canvas, y, Color.BLUE, /* label= */ "mAmbientState.getStackY() + mAmbientState.getStackHeight()"); } private void drawDebugInfo(Canvas canvas, int y, int color, String label) { mDebugPaint.setColor(color); canvas.drawLine(/* startX= */ 0, /* startY= */ y, /* stopX= */ getWidth(), /* stopY= */ y, mDebugPaint); canvas.drawText(label, /* x= */ 0, /* y= */ computeDebugYTextPosition(y), mDebugPaint); } private int computeDebugYTextPosition(int lineY) { int textY = lineY; while (DEBUG_TEXT_USED_Y_POSITIONS.contains(textY)) { textY = (int) (textY + mDebugPaint.getTextSize()); } DEBUG_TEXT_USED_Y_POSITIONS.add(textY); return textY; } @ShadeViewRefactor(RefactorComponent.DECORATOR) Loading