From 8d449a0e36a56af9e87f960a5dd05b398e7d4faf Mon Sep 17 00:00:00 2001 From: Maurice Lam Date: Fri, 15 Aug 2014 12:04:12 -0700 Subject: [PATCH] [WifiSetup] Use framework AutoMirrored Use framework autoMirrored and override onResolveDrawables to propagate the layout direction to the drawables. Bug: 17047609 Change-Id: Ic4a764510e3a89c897d4e243f8fa2a690ac71899 --- ....jpg => setup_illustration_wifi_image.jpg} | Bin ...=> setup_illustration_wifi_wide_image.jpg} | Bin res/drawable/setup_illustration_wifi.xml | 20 ++++++++++++++++++ res/drawable/setup_illustration_wifi_wide.xml | 20 ++++++++++++++++++ res/layout-sw600dp-land/setup_preference.xml | 4 +--- res/layout/setup_wizard_header.xml | 3 +-- res/values/attrs.xml | 1 - .../widget/SetupWizardIllustration.java | 14 ++++++------ 8 files changed, 48 insertions(+), 14 deletions(-) rename res/drawable-nodpi/{setup_illustration_wifi.jpg => setup_illustration_wifi_image.jpg} (100%) rename res/drawable-nodpi/{setup_illustration_wifi_wide.jpg => setup_illustration_wifi_wide_image.jpg} (100%) create mode 100644 res/drawable/setup_illustration_wifi.xml create mode 100644 res/drawable/setup_illustration_wifi_wide.xml diff --git a/res/drawable-nodpi/setup_illustration_wifi.jpg b/res/drawable-nodpi/setup_illustration_wifi_image.jpg similarity index 100% rename from res/drawable-nodpi/setup_illustration_wifi.jpg rename to res/drawable-nodpi/setup_illustration_wifi_image.jpg diff --git a/res/drawable-nodpi/setup_illustration_wifi_wide.jpg b/res/drawable-nodpi/setup_illustration_wifi_wide_image.jpg similarity index 100% rename from res/drawable-nodpi/setup_illustration_wifi_wide.jpg rename to res/drawable-nodpi/setup_illustration_wifi_wide_image.jpg diff --git a/res/drawable/setup_illustration_wifi.xml b/res/drawable/setup_illustration_wifi.xml new file mode 100644 index 00000000000..9db2f137680 --- /dev/null +++ b/res/drawable/setup_illustration_wifi.xml @@ -0,0 +1,20 @@ + + + + diff --git a/res/drawable/setup_illustration_wifi_wide.xml b/res/drawable/setup_illustration_wifi_wide.xml new file mode 100644 index 00000000000..3af35615ce7 --- /dev/null +++ b/res/drawable/setup_illustration_wifi_wide.xml @@ -0,0 +1,20 @@ + + + + diff --git a/res/layout-sw600dp-land/setup_preference.xml b/res/layout-sw600dp-land/setup_preference.xml index 1c394056100..094381716ba 100644 --- a/res/layout-sw600dp-land/setup_preference.xml +++ b/res/layout-sw600dp-land/setup_preference.xml @@ -16,7 +16,6 @@ --> + android:background="@drawable/setup_illustration_bg"> + settings:aspectRatio="2.0"> - diff --git a/src/com/android/settings/widget/SetupWizardIllustration.java b/src/com/android/settings/widget/SetupWizardIllustration.java index 8a9d50714ef..fa8dd809e2d 100644 --- a/src/com/android/settings/widget/SetupWizardIllustration.java +++ b/src/com/android/settings/widget/SetupWizardIllustration.java @@ -22,7 +22,6 @@ import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.util.AttributeSet; -import android.util.LayoutDirection; import android.util.Log; import android.widget.FrameLayout; @@ -46,7 +45,6 @@ public class SetupWizardIllustration extends FrameLayout { private int mForegroundHeight = 0; private float mScale = 1.0f; private float mAspectRatio = 0.0f; - private boolean mAutoMirrored; public SetupWizardIllustration(Context context) { this(context, null); @@ -67,8 +65,6 @@ public class SetupWizardIllustration extends FrameLayout { TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SetupWizardIllustration, 0, 0); mAspectRatio = a.getFloat(R.styleable.SetupWizardIllustration_aspectRatio, 0.0f); - // TODO: Use framework autoMirrored supported in drawables instead b/17047609 - mAutoMirrored = a.getBoolean(R.styleable.SetupWizardIllustration_autoMirrored, false); a.recycle(); } // Number of pixels of the 8dp baseline grid as defined in material design specs @@ -94,6 +90,12 @@ public class SetupWizardIllustration extends FrameLayout { mForeground = foreground; } + @Override + public void onResolveDrawables(int layoutDirection) { + mBackground.setLayoutDirection(layoutDirection); + mForeground.setLayoutDirection(layoutDirection); + } + @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { if (mAspectRatio != 0.0f) { @@ -136,10 +138,6 @@ public class SetupWizardIllustration extends FrameLayout { @Override public void onDraw(Canvas canvas) { canvas.save(); - if (mAutoMirrored && getLayoutDirection() == LayoutDirection.RTL) { - canvas.scale(-1, 1); - canvas.translate(-canvas.getWidth(), 0); - } if (mBackground != null) { canvas.save(); // Draw the background filling parts not covered by the illustration