From e4367d60fce814a4d238fc066919693f3852bc09 Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Mon, 18 Apr 2016 15:32:41 -0700 Subject: [PATCH 1/2] Made sure the fake shadow won't be invisible The shadow could still be invisible as it was too small. Change-Id: Ic3da504663a449e60f490af14bb98701cff2653c Fixes: 27317665 --- .../systemui/statusbar/notification/FakeShadowView.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/FakeShadowView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/FakeShadowView.java index 32c26ba8ba133..0c1891e1fde9a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/FakeShadowView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/FakeShadowView.java @@ -25,6 +25,7 @@ import android.view.ViewGroup; import android.view.ViewOutlineProvider; import android.widget.LinearLayout; +import com.android.systemui.R; import com.android.systemui.statusbar.AlphaOptimizedFrameLayout; /** @@ -32,6 +33,7 @@ import com.android.systemui.statusbar.AlphaOptimizedFrameLayout; */ public class FakeShadowView extends AlphaOptimizedFrameLayout { public static final float SHADOW_SIBLING_TRESHOLD = 0.1f; + private final int mShadowMinHeight; private View mFakeShadow; private float mOutlineAlpha; @@ -64,6 +66,8 @@ public class FakeShadowView extends AlphaOptimizedFrameLayout { } }); addView(mFakeShadow); + mShadowMinHeight = Math.max(1, context.getResources() + .getDimensionPixelSize(R.dimen.notification_divider_height)); } public void setFakeShadowTranslationZ(float fakeShadowTranslationZ, float outlineAlpha, @@ -72,6 +76,7 @@ public class FakeShadowView extends AlphaOptimizedFrameLayout { mFakeShadow.setVisibility(INVISIBLE); } else { mFakeShadow.setVisibility(VISIBLE); + fakeShadowTranslationZ = Math.max(mShadowMinHeight, fakeShadowTranslationZ); mFakeShadow.setTranslationZ(fakeShadowTranslationZ); mFakeShadow.setTranslationX(outlineTranslation); mFakeShadow.setTranslationY(shadowYEnd - mFakeShadow.getHeight()); From fe090658b691f8a960bf0492371ec8b52ed4430f Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Mon, 18 Apr 2016 15:57:57 -0700 Subject: [PATCH 2/2] Fixed a bug where expanding by touch wasn't possible In landscape expanding by touch was not working because the rawX is different from the X. Change-Id: Id1278b073ea2e10258648884c528f5db273f2d78 Fixes: 27923197 --- .../SystemUI/src/com/android/systemui/ExpandHelper.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java index d12ab293ab3e2..cecbfcb236bab 100644 --- a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java +++ b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java @@ -317,8 +317,8 @@ public class ExpandHelper implements Gefingerpoken { mResizedView = null; mWatchingForPull = false; } - mInitialTouchY = ev.getY(); - mInitialTouchX = ev.getX(); + mInitialTouchY = ev.getRawY(); + mInitialTouchX = ev.getRawX(); break; case MotionEvent.ACTION_CANCEL: @@ -412,8 +412,8 @@ public class ExpandHelper implements Gefingerpoken { mWatchingForPull = mScrollAdapter != null && isInside(mScrollAdapter.getHostView(), x, y); mResizedView = findView(x, y); - mInitialTouchX = ev.getX(); - mInitialTouchY = ev.getY(); + mInitialTouchX = ev.getRawX(); + mInitialTouchY = ev.getRawY(); break; case MotionEvent.ACTION_MOVE: { if (mWatchingForPull) {