diff --git a/packages/SystemUI/res/drawable-hdpi/global_screenshot_background.9.png b/packages/SystemUI/res/drawable-hdpi/global_screenshot_background.9.png
deleted file mode 100644
index e14111dae1689..0000000000000
Binary files a/packages/SystemUI/res/drawable-hdpi/global_screenshot_background.9.png and /dev/null differ
diff --git a/packages/SystemUI/res/drawable-hdpi/screenshot_panel.9.png b/packages/SystemUI/res/drawable-hdpi/screenshot_panel.9.png
new file mode 100644
index 0000000000000..9447e01d8af5f
Binary files /dev/null and b/packages/SystemUI/res/drawable-hdpi/screenshot_panel.9.png differ
diff --git a/packages/SystemUI/res/drawable-mdpi/global_screenshot_background.9.png b/packages/SystemUI/res/drawable-mdpi/global_screenshot_background.9.png
deleted file mode 100644
index e14111dae1689..0000000000000
Binary files a/packages/SystemUI/res/drawable-mdpi/global_screenshot_background.9.png and /dev/null differ
diff --git a/packages/SystemUI/res/drawable-mdpi/screenshot_panel.9.png b/packages/SystemUI/res/drawable-mdpi/screenshot_panel.9.png
new file mode 100644
index 0000000000000..7f1aea1da7f31
Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/screenshot_panel.9.png differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/global_screenshot_background.9.png b/packages/SystemUI/res/drawable-xhdpi/global_screenshot_background.9.png
deleted file mode 100644
index db116b125046e..0000000000000
Binary files a/packages/SystemUI/res/drawable-xhdpi/global_screenshot_background.9.png and /dev/null differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/screenshot_panel.9.png b/packages/SystemUI/res/drawable-xhdpi/screenshot_panel.9.png
new file mode 100644
index 0000000000000..e5cfc364cc23c
Binary files /dev/null and b/packages/SystemUI/res/drawable-xhdpi/screenshot_panel.9.png differ
diff --git a/packages/SystemUI/res/layout/global_screenshot.xml b/packages/SystemUI/res/layout/global_screenshot.xml
index 6d70135d51879..d416af9296802 100644
--- a/packages/SystemUI/res/layout/global_screenshot.xml
+++ b/packages/SystemUI/res/layout/global_screenshot.xml
@@ -26,11 +26,16 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
- android:background="@drawable/global_screenshot_background"
+ android:background="@drawable/screenshot_panel"
android:visibility="gone">
+
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index bf192868ffe7b..55b722b12473c 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -89,9 +89,6 @@
2000dp
- 0dp
-
- 6dp
- 0dp
+ 20dp
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index cc1b8ed12c91e..6549610fe6824 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -34,7 +34,6 @@ import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.PixelFormat;
import android.graphics.PointF;
-import android.graphics.RectF;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Environment;
@@ -52,6 +51,7 @@ import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
+import android.view.animation.Interpolator;
import android.widget.FrameLayout;
import android.widget.ImageView;
@@ -229,15 +229,18 @@ class SaveImageInBackgroundTask extends AsyncTask h) {
- tmpMinScale = finalBounds.width() / (2f * w);
- } else {
- tmpMinScale = finalBounds.height() / (2f * h);
- }
- final float minScale = tmpMinScale;
+ final float offsetPct = SCREENSHOT_DROP_OUT_MIN_SCALE_OFFSET;
+ final PointF finalPos = new PointF(
+ -halfScreenWidth + (SCREENSHOT_DROP_OUT_MIN_SCALE + offsetPct) * halfScreenWidth,
+ -halfScreenHeight + (SCREENSHOT_DROP_OUT_MIN_SCALE + offsetPct) * halfScreenHeight);
// Animate the screenshot to the status bar
- anim.setDuration(SCREENSHOT_FADE_OUT_DURATION);
+ anim.setDuration(SCREENSHOT_DROP_OUT_DURATION);
anim.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float t = ((Float) animation.getAnimatedValue()).floatValue();
- float scaleT = minScale
- + (float) (1f - t) * (SCREENSHOT_SCALE - minScale - mBgPaddingScale)
- + mBgPaddingScale;
- mScreenshotContainerView.setAlpha(d.getInterpolation(1f - t));
- mScreenshotContainerView.setTranslationX(d.getInterpolation(t) * finalPos.x);
- mScreenshotContainerView.setTranslationY(d.getInterpolation(t) * finalPos.y);
+ float scaleT = (SCREENSHOT_DROP_IN_MIN_SCALE + mBgPaddingScale)
+ - (float) scaleInterpolator.getInterpolation(t)
+ * (SCREENSHOT_DROP_IN_MIN_SCALE - SCREENSHOT_DROP_OUT_MIN_SCALE);
+ mBackgroundView.setAlpha((1f - t) * BACKGROUND_ALPHA);
+ mScreenshotContainerView.setAlpha(1f - scaleInterpolator.getInterpolation(t));
mScreenshotContainerView.setScaleX(scaleT);
mScreenshotContainerView.setScaleY(scaleT);
- mBackgroundView.setAlpha((1f - t) * BACKGROUND_ALPHA);
+ mScreenshotContainerView.setTranslationX(t * finalPos.x);
+ mScreenshotContainerView.setTranslationY(t * finalPos.y);
}
});
}