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); } }); }