summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adam Cohen <adamcohen@google.com> 2012-11-07 16:26:46 -0800
committer Adam Cohen <adamcohen@google.com> 2012-11-07 16:54:35 -0800
commitd51700b3cc6d4c66a33d18348f7c1eb66cd50ac2 (patch)
tree85241f9082bfca9faaba2d0371e99e815eabd050
parentf988bdfbaebe8ee94f6459f3c8d964467f2c62c9 (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.pngbin0 -> 3272 bytes
-rw-r--r--core/res/res/drawable-mdpi/kg_widget_bg_padded.9.pngbin0 -> 3149 bytes
-rw-r--r--core/res/res/drawable-xhdpi/kg_widget_bg_padded.9.pngbin0 -> 3474 bytes
-rw-r--r--core/res/res/values/symbols.xml2
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java8
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetFrame.java29
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java6
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/PagedView.java4
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
new file mode 100644
index 000000000000..dff1dfaf9d27
--- /dev/null
+++ b/core/res/res/drawable-hdpi/kg_widget_bg_padded.9.png
Binary files differ
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
new file mode 100644
index 000000000000..c313df12f4aa
--- /dev/null
+++ b/core/res/res/drawable-mdpi/kg_widget_bg_padded.9.png
Binary files differ
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
new file mode 100644
index 000000000000..a84bfa39ce6c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/kg_widget_bg_padded.9.png
Binary files differ
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);