diff options
| author | 2017-05-26 15:30:18 +0000 | |
|---|---|---|
| committer | 2017-05-26 15:30:25 +0000 | |
| commit | 482da480660de97c8c1a2f76bb6529a5d090a100 (patch) | |
| tree | 510b45ae87bbd28b108bf0f3376d00841f3c3b3b | |
| parent | 25ae29dfd53c6b2277f854899f0a9f2443972789 (diff) | |
| parent | 54b610f32bf52cee7f7fee3e8407ff593a0ab318 (diff) | |
Merge "Fix RTL for SignalDrawable" into oc-dev
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/SignalDrawable.java | 11 |
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, |