diff --git a/packages/SystemUI/res/drawable/overlay_badge_background.xml b/packages/SystemUI/res/drawable/overlay_badge_background.xml new file mode 100644 index 0000000000000..857632edcf0de --- /dev/null +++ b/packages/SystemUI/res/drawable/overlay_badge_background.xml @@ -0,0 +1,21 @@ + + + + + diff --git a/packages/SystemUI/res/layout/screenshot_static.xml b/packages/SystemUI/res/layout/screenshot_static.xml index 9c027495aa1ee..1ac78d491d78f 100644 --- a/packages/SystemUI/res/layout/screenshot_static.xml +++ b/packages/SystemUI/res/layout/screenshot_static.xml @@ -103,8 +103,18 @@ app:layout_constraintBottom_toBottomOf="@id/screenshot_preview_border" app:layout_constraintStart_toStartOf="@id/screenshot_preview_border" app:layout_constraintEnd_toEndOf="@id/screenshot_preview_border" - app:layout_constraintTop_toTopOf="@id/screenshot_preview_border"> - + app:layout_constraintTop_toTopOf="@id/screenshot_preview_border"/> + - mScreenshotPreviewBorder.setAlpha(animation.getAnimatedFraction())); + borderFadeIn.addUpdateListener((animation) -> { + float borderAlpha = animation.getAnimatedFraction(); + mScreenshotPreviewBorder.setAlpha(borderAlpha); + mScreenshotBadge.setAlpha(borderAlpha); + }); if (showFlash) { dropInAnimation.play(flashOutAnimator).after(flashInAnimator); @@ -763,6 +761,11 @@ public class ScreenshotView extends FrameLayout implements return animator; } + void badgeScreenshot(Drawable badge) { + mScreenshotBadge.setImageDrawable(badge); + mScreenshotBadge.setVisibility(badge != null ? View.VISIBLE : View.GONE); + } + void setChipIntents(ScreenshotController.SavedImageData imageData) { mShareChip.setOnClickListener(v -> { mUiEventLogger.log(ScreenshotEvent.SCREENSHOT_SHARE_TAPPED, 0, mPackageName); @@ -1027,6 +1030,9 @@ public class ScreenshotView extends FrameLayout implements mScreenshotPreview.setVisibility(View.INVISIBLE); mScreenshotPreview.setAlpha(1f); mScreenshotPreviewBorder.setAlpha(0); + mScreenshotBadge.setAlpha(0f); + mScreenshotBadge.setVisibility(View.GONE); + mScreenshotBadge.setImageDrawable(null); mPendingSharedTransition = false; mActionsContainerBackground.setVisibility(View.GONE); mActionsContainer.setVisibility(View.GONE); @@ -1082,6 +1088,7 @@ public class ScreenshotView extends FrameLayout implements mActionsContainerBackground.setAlpha(alpha); mActionsContainer.setAlpha(alpha); mScreenshotPreviewBorder.setAlpha(alpha); + mScreenshotBadge.setAlpha(alpha); }); alphaAnim.setDuration(600); return alphaAnim;