From c1397271750a76f57edad0c85218f320d5c83a92 Mon Sep 17 00:00:00 2001 From: Evan Laird Date: Mon, 21 May 2018 20:12:34 -0400 Subject: [PATCH] Override getDrawingRect for wifi and mobile views Fixes the ordering that gets generated for accessibility traversal Test: visual with TalkBack on Change-Id: Ib50dad448aaf2b9ed0fa90d12f6394db7fac3252 Fixes: 79722445 --- .../systemui/statusbar/StatusBarMobileView.java | 11 +++++++++++ .../android/systemui/statusbar/StatusBarWifiView.java | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java index 04c500fc8f6a4..d6bef12a13845 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java @@ -88,6 +88,17 @@ public class StatusBarMobileView extends FrameLayout implements DarkReceiver, super(context, attrs, defStyleAttr, defStyleRes); } + @Override + public void getDrawingRect(Rect outRect) { + super.getDrawingRect(outRect); + float translationX = getTranslationX(); + float translationY = getTranslationY(); + outRect.left += translationX; + outRect.right += translationX; + outRect.top += translationY; + outRect.bottom += translationY; + } + private void init() { mMobileGroup = findViewById(R.id.mobile_group); mMobile = findViewById(R.id.mobile_signal); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarWifiView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarWifiView.java index ca00a5aed6d2c..59a0adc75ff7c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarWifiView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarWifiView.java @@ -151,6 +151,17 @@ public class StatusBarWifiView extends FrameLayout implements DarkReceiver, return mVisibleState; } + @Override + public void getDrawingRect(Rect outRect) { + super.getDrawingRect(outRect); + float translationX = getTranslationX(); + float translationY = getTranslationY(); + outRect.left += translationX; + outRect.right += translationX; + outRect.top += translationY; + outRect.bottom += translationY; + } + private void init() { int dualToneLightTheme = Utils.getThemeAttr(mContext, R.attr.lightIconTheme); int dualToneDarkTheme = Utils.getThemeAttr(mContext, R.attr.darkIconTheme);