summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Miranda Kephart <mkephart@google.com> 2022-10-19 15:13:01 -0400
committer Miranda Kephart <mkephart@google.com> 2022-10-24 15:56:49 +0000
commit1aef4a20e650abe4d4314e6b384e8c6206529df1 (patch)
tree308a4a9d2561609d6e314a8ebef5a80f5e2cf16f
parent693d0a41312105d0c9e11e5c4927a1f373d79773 (diff)
Fix shared transitions from work profile
We need to start the fade animation (and prevent the initial ACTION_CLOSE_SYSTEM_DIALOGS broadcast from dismissing the screenshot UI). Flag: SCREENSHOT_WORK_PROFILE_POLICY Bug: 254518387 Test: manual (visual change; observed that UI fades out as expected when SCREENSHOT_WORK_PROFILE_POLICY flag is on) Change-Id: I69e7cd94bf621a28ec2ceb3586db0b80a65278e3
-rw-r--r--packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java
index 26cbcbf5214f..1b9cdd42dbf7 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java
@@ -767,7 +767,9 @@ public class ScreenshotView extends FrameLayout implements
mShareChip.setOnClickListener(v -> {
mUiEventLogger.log(ScreenshotEvent.SCREENSHOT_SHARE_TAPPED, 0, mPackageName);
if (mFlags.isEnabled(Flags.SCREENSHOT_WORK_PROFILE_POLICY)) {
- mActionExecutor.launchIntentAsync(ActionIntentCreator.INSTANCE.createShareIntent(
+ prepareSharedTransition();
+ mActionExecutor.launchIntentAsync(
+ ActionIntentCreator.INSTANCE.createShareIntent(
imageData.uri, imageData.subject),
imageData.shareTransition.get().bundle,
imageData.owner.getIdentifier(), false);
@@ -778,6 +780,7 @@ public class ScreenshotView extends FrameLayout implements
mEditChip.setOnClickListener(v -> {
mUiEventLogger.log(ScreenshotEvent.SCREENSHOT_EDIT_TAPPED, 0, mPackageName);
if (mFlags.isEnabled(Flags.SCREENSHOT_WORK_PROFILE_POLICY)) {
+ prepareSharedTransition();
mActionExecutor.launchIntentAsync(
ActionIntentCreator.INSTANCE.createEditIntent(imageData.uri, mContext),
imageData.editTransition.get().bundle,
@@ -789,6 +792,7 @@ public class ScreenshotView extends FrameLayout implements
mScreenshotPreview.setOnClickListener(v -> {
mUiEventLogger.log(ScreenshotEvent.SCREENSHOT_PREVIEW_TAPPED, 0, mPackageName);
if (mFlags.isEnabled(Flags.SCREENSHOT_WORK_PROFILE_POLICY)) {
+ prepareSharedTransition();
mActionExecutor.launchIntentAsync(
ActionIntentCreator.INSTANCE.createEditIntent(imageData.uri, mContext),
imageData.editTransition.get().bundle,
@@ -1064,6 +1068,12 @@ public class ScreenshotView extends FrameLayout implements
}
}
+ private void prepareSharedTransition() {
+ mPendingSharedTransition = true;
+ // fade out non-preview UI
+ createScreenshotFadeDismissAnimation().start();
+ }
+
ValueAnimator createScreenshotFadeDismissAnimation() {
ValueAnimator alphaAnim = ValueAnimator.ofFloat(0, 1);
alphaAnim.addUpdateListener(animation -> {