summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2017-05-26 15:30:18 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-05-26 15:30:25 +0000
commit482da480660de97c8c1a2f76bb6529a5d090a100 (patch)
tree510b45ae87bbd28b108bf0f3376d00841f3c3b3b
parent25ae29dfd53c6b2277f854899f0a9f2443972789 (diff)
parent54b610f32bf52cee7f7fee3e8407ff593a0ab318 (diff)
Merge "Fix RTL for SignalDrawable" into oc-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java
index a9eb20ba3a57..8cd87910f945 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java
@@ -30,6 +30,7 @@ import android.graphics.Path.Op;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Handler;
+import android.util.LayoutDirection;
import android.util.Log;
import com.android.settingslib.R;
@@ -192,6 +193,13 @@ public class SignalDrawable extends Drawable {
@Override
public void draw(@NonNull Canvas canvas) {
+ boolean isRtl = getLayoutDirection() == LayoutDirection.RTL;
+ if (isRtl) {
+ canvas.save();
+ // Mirror the drawable
+ canvas.translate(canvas.getWidth(), 0);
+ canvas.scale(-1.0f, 1.0f);
+ }
mFullPath.reset();
mFullPath.setFillType(FillType.WINDING);
float width = getBounds().width();
@@ -250,6 +258,9 @@ public class SignalDrawable extends Drawable {
}
canvas.drawPath(mXPath, mForegroundPaint);
}
+ if (isRtl) {
+ canvas.restore();
+ }
}
private void drawDot(Path fullPath, Path foregroundPath, float x, float y, float dotSize,