From f406707066cfd4936792377bf55b4a917507644a Mon Sep 17 00:00:00 2001 From: Miranda Kephart Date: Wed, 19 Oct 2022 17:26:31 -0400 Subject: [PATCH] Add profile badges to screenshot UI Flag: SCREENSHOT_WORK_PROFILE_POLICY Bug: 254245249 Test: visual change only; badge appears when screenshot is taken on a work profile app with the SCREENSHOT_WORK_PROFILE_POLICY flag on Change-Id: I37f89d3dc78f7937a6725d3a8fd2fdc579ec6cbd --- .../res/drawable/overlay_badge_background.xml | 21 ++++++++++++++++ .../SystemUI/res/layout/screenshot_static.xml | 14 +++++++++-- .../screenshot/ScreenshotController.java | 8 +++++- .../systemui/screenshot/ScreenshotView.java | 25 ++++++++++++------- 4 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 packages/SystemUI/res/drawable/overlay_badge_background.xml 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); @@ -1023,6 +1026,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); @@ -1072,6 +1078,7 @@ public class ScreenshotView extends FrameLayout implements mActionsContainerBackground.setAlpha(alpha); mActionsContainer.setAlpha(alpha); mScreenshotPreviewBorder.setAlpha(alpha); + mScreenshotBadge.setAlpha(alpha); }); alphaAnim.setDuration(600); return alphaAnim;