summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mady Mellor <madym@google.com> 2016-04-04 23:14:05 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-04-04 23:14:07 +0000
commite9301ed60d3b013e17f157dae6920c414df1e60f (patch)
treefea9d67292cd6d8015eb5917c874308f79f1e22f
parent13af9845d4d6598dd64c4c8c99af93f92e7b56af (diff)
parent4666cbd5069a3c07a8a2994ba9982ffea332c98d (diff)
Merge "Fix showing gear behind notification when RTL language selected" into nyc-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationSettingsIconRow.java21
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java3
2 files changed, 17 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationSettingsIconRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationSettingsIconRow.java
index a3e78c165b2f..88aafe0e61bb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationSettingsIconRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationSettingsIconRow.java
@@ -92,7 +92,7 @@ public class NotificationSettingsIconRow extends FrameLayout implements View.OnC
mAnimating = false;
mSnapping = false;
mDismissing = false;
- setIconLocation(true /* on left */);
+ setIconLocation(true /* on left */, true /* force */);
if (mListener != null) {
mListener.onSettingsIconRowReset(this);
}
@@ -104,6 +104,7 @@ public class NotificationSettingsIconRow extends FrameLayout implements View.OnC
public void setNotificationRowParent(ExpandableNotificationRow parent) {
mParent = parent;
+ setIconLocation(mOnLeft, true /* force */);
}
public void setAppName(String appName) {
@@ -183,7 +184,7 @@ public class NotificationSettingsIconRow extends FrameLayout implements View.OnC
if (isIconLocationChange(transX)) {
setGearAlpha(0f);
}
- setIconLocation(transX > 0 /* fromLeft */);
+ setIconLocation(transX > 0 /* fromLeft */, false /* force */);
mFadeAnimator = ValueAnimator.ofFloat(mGearIcon.getAlpha(), 1);
mFadeAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
@@ -220,12 +221,20 @@ public class NotificationSettingsIconRow extends FrameLayout implements View.OnC
mFadeAnimator.start();
}
- public void setIconLocation(boolean onLeft) {
- if (onLeft == mOnLeft || mSnapping) {
- // Same side? Do nothing.
+ @Override
+ public void onRtlPropertiesChanged(int layoutDirection) {
+ setIconLocation(mOnLeft, true /* force */);
+ }
+
+ public void setIconLocation(boolean onLeft, boolean force) {
+ if ((!force && onLeft == mOnLeft) || mSnapping || mParent == null) {
+ // Do nothing
return;
}
- setTranslationX(onLeft ? 0 : (mParent.getWidth() - mHorizSpaceForGear));
+ final boolean isRtl = mParent.isLayoutRtl();
+ final float left = isRtl ? -(mParent.getWidth() - mHorizSpaceForGear) : 0;
+ final float right = isRtl ? 0 : (mParent.getWidth() - mHorizSpaceForGear);
+ setTranslationX(onLeft ? left : right);
mOnLeft = onLeft;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
index b5030e66e9c5..373c0e1e2384 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -3532,7 +3532,8 @@ public class NotificationStackScrollLayout extends ViewGroup
} else {
// Check scheduled, reset alpha and update location; check will fade it in
mCurrIconRow.setGearAlpha(0f);
- mCurrIconRow.setIconLocation(translation > 0 /* onLeft */);
+ mCurrIconRow.setIconLocation(translation > 0 /* onLeft */,
+ false /* force */);
}
}
}