diff options
| author | 2012-11-07 16:26:46 -0800 | |
|---|---|---|
| committer | 2012-11-07 16:54:35 -0800 | |
| commit | d51700b3cc6d4c66a33d18348f7c1eb66cd50ac2 (patch) | |
| tree | 85241f9082bfca9faaba2d0371e99e815eabd050 | |
| parent | f988bdfbaebe8ee94f6459f3c8d964467f2c62c9 (diff) | |
Fixing up overscroll asset / sizing
-> No more jaggies! yay (issue 7459049)
-> Fixed up weird overscroll state (issue 7489094)
Change-Id: I5d6714a6f5f007ea0f73e4cf34a20572c5f43f64
| -rw-r--r-- | core/res/res/drawable-hdpi/kg_widget_bg_padded.9.png | bin | 0 -> 3272 bytes | |||
| -rw-r--r-- | core/res/res/drawable-mdpi/kg_widget_bg_padded.9.png | bin | 0 -> 3149 bytes | |||
| -rw-r--r-- | core/res/res/drawable-xhdpi/kg_widget_bg_padded.9.png | bin | 0 -> 3474 bytes | |||
| -rw-r--r-- | core/res/res/values/symbols.xml | 2 | ||||
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java | 8 | ||||
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java | 29 | ||||
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java | 6 | ||||
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/keyguard/PagedView.java | 4 |
8 files changed, 31 insertions, 18 deletions
diff --git a/core/res/res/drawable-hdpi/kg_widget_bg_padded.9.png b/core/res/res/drawable-hdpi/kg_widget_bg_padded.9.png Binary files differnew file mode 100644 index 000000000000..dff1dfaf9d27 --- /dev/null +++ b/core/res/res/drawable-hdpi/kg_widget_bg_padded.9.png diff --git a/core/res/res/drawable-mdpi/kg_widget_bg_padded.9.png b/core/res/res/drawable-mdpi/kg_widget_bg_padded.9.png Binary files differnew file mode 100644 index 000000000000..c313df12f4aa --- /dev/null +++ b/core/res/res/drawable-mdpi/kg_widget_bg_padded.9.png diff --git a/core/res/res/drawable-xhdpi/kg_widget_bg_padded.9.png b/core/res/res/drawable-xhdpi/kg_widget_bg_padded.9.png Binary files differnew file mode 100644 index 000000000000..a84bfa39ce6c --- /dev/null +++ b/core/res/res/drawable-xhdpi/kg_widget_bg_padded.9.png diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index cd21d80a0baa..952e59ca781f 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1256,7 +1256,7 @@ <java-symbol type="drawable" name="magnified_region_frame" /> <java-symbol type="drawable" name="menu_background" /> <java-symbol type="drawable" name="stat_sys_secure" /> - <java-symbol type="drawable" name="kg_bouncer_bg_white" /> + <java-symbol type="drawable" name="kg_widget_bg_padded" /> <java-symbol type="id" name="action_mode_bar_stub" /> <java-symbol type="id" name="alarm_status" /> <java-symbol type="id" name="backspace" /> diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java index 49483436cdb4..d8cb43524aa1 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java @@ -214,7 +214,9 @@ public class KeyguardViewStateManager implements mKeyguardWidgetPager.setWidgetToResetOnPageFadeOut(mPageListeningToSlider); } } - frame.hideFrame(this); + if (scrollState != SlidingChallengeLayout.SCROLL_STATE_FADING) { + frame.hideFrame(this); + } updateEdgeSwiping(); if (mChallengeLayout.isChallengeShowing()) { @@ -233,7 +235,9 @@ public class KeyguardViewStateManager implements // Skip showing the frame and shrinking the widget if we are if (!mChallengeLayout.isBouncing()) { - frame.showFrame(this); + if (scrollState != SlidingChallengeLayout.SCROLL_STATE_FADING) { + frame.showFrame(this); + } // As soon as the security begins sliding, the widget becomes small (if it wasn't // small to begin with). diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java index fa1a1ae2648e..d9953bfd05c6 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java @@ -110,13 +110,13 @@ public class KeyguardWidgetFrame extends FrameLayout { int padding = (int) (res.getDisplayMetrics().density * 8); setPadding(padding, padding, padding, padding); - mFrameStrokeAdjustment = (int) (2 * density); + mFrameStrokeAdjustment = 2 + (int) (2 * density); // This will be overriden on phones based on the current security mode, however on tablets // we need to specify a height. mSmallWidgetHeight = res.getDimensionPixelSize(com.android.internal.R.dimen.kg_small_widget_height); - mBackgroundDrawable = res.getDrawable(R.drawable.kg_bouncer_bg_white); + mBackgroundDrawable = res.getDrawable(R.drawable.kg_widget_bg_padded); mGradientColor = res.getColor(com.android.internal.R.color.kg_widget_pager_gradient); mGradientPaint.setXfermode(sAddBlendMode); } @@ -372,6 +372,10 @@ public class KeyguardWidgetFrame extends FrameLayout { public void setFrameHeight(int height) { mFrameHeight = height; mBackgroundRect.set(0, 0, getMeasuredWidth(), Math.min(mFrameHeight, getMeasuredHeight())); + mForegroundRect.set(mFrameStrokeAdjustment, mFrameStrokeAdjustment,getMeasuredWidth() - + mFrameStrokeAdjustment, Math.min(getMeasuredHeight(), mFrameHeight) - + mFrameStrokeAdjustment); + updateGradient(); invalidate(); } @@ -401,27 +405,30 @@ public class KeyguardWidgetFrame extends FrameLayout { mFrameFade.start(); } - @Override - protected void onSizeChanged(int w, int h, int oldw, int oldh) { - super.onSizeChanged(w, h, oldw, oldh); - - // mFrameStrokeAdjustment is a cludge to prevent the overlay from drawing outside the - // rounded rect background. - mForegroundRect.set(mFrameStrokeAdjustment, mFrameStrokeAdjustment, - w - mFrameStrokeAdjustment, h - mFrameStrokeAdjustment); - + private void updateGradient() { float x0 = mLeftToRight ? 0 : mForegroundRect.width(); float x1 = mLeftToRight ? mForegroundRect.width(): 0; mLeftToRightGradient = new LinearGradient(x0, 0f, x1, 0f, mGradientColor, 0, Shader.TileMode.CLAMP); mRightToLeftGradient = new LinearGradient(x1, 0f, x0, 0f, mGradientColor, 0, Shader.TileMode.CLAMP); + } + + @Override + protected void onSizeChanged(int w, int h, int oldw, int oldh) { + super.onSizeChanged(w, h, oldw, oldh); if (!mIsSmall) { mFrameHeight = h; } + // mFrameStrokeAdjustment is a cludge to prevent the overlay from drawing outside the + // rounded rect background. + mForegroundRect.set(mFrameStrokeAdjustment, mFrameStrokeAdjustment, + w - mFrameStrokeAdjustment, Math.min(h, mFrameHeight) - mFrameStrokeAdjustment); + mBackgroundRect.set(0, 0, getMeasuredWidth(), Math.min(h, mFrameHeight)); + updateGradient(); invalidate(); } diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java index f20b8d40056d..083d47e10153 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java @@ -476,6 +476,10 @@ public class KeyguardWidgetPager extends PagedView implements PagedView.PageSwit v.setCameraDistance(mDensity * CAMERA_DISTANCE); if (isOverScrollChild(i, scrollProgress) && PERFORM_OVERSCROLL_ROTATION) { + float pivotX = v.getMeasuredWidth() / 2; + float pivotY = v.getMeasuredHeight() / 2; + v.setPivotX(pivotX); + v.setPivotY(pivotY); v.setRotationY(- OVERSCROLL_MAX_ROTATION * scrollProgress); v.setOverScrollAmount(Math.abs(scrollProgress), scrollProgress < 0); } else { @@ -762,6 +766,8 @@ public class KeyguardWidgetPager extends PagedView implements PagedView.PageSwit mZoomInOutAnim.cancel(); } View currentPage = getPageAt(getCurrentPage()); + currentPage.setPivotY(0); + currentPage.setPivotX(currentPage.getMeasuredWidth() / 2); if (!(currentPage.getScaleX() < 1f || currentPage.getScaleY() < 1f)) { mZoomInOutAnim = new AnimatorSet(); mZoomInOutAnim.setDuration(BOUNCER_ZOOM_IN_OUT_DURATION); diff --git a/policy/src/com/android/internal/policy/impl/keyguard/PagedView.java b/policy/src/com/android/internal/policy/impl/keyguard/PagedView.java index 2f25835d79bf..e991d16093e4 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/PagedView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/PagedView.java @@ -658,10 +658,6 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc MeasureSpec.makeMeasureSpec(heightSize - verticalPadding, childHeightMode); child.measure(childWidthMeasureSpec, childHeightMeasureSpec); - if (shouldSetTopAlignedPivotForWidget(i)) { - child.setPivotX(child.getWidth() / 2); - child.setPivotY(0f); - } } setMeasuredDimension(scaledWidthSize, scaledHeightSize); |