From b8c50e8e44bb757d18fc7f069332c186099aca77 Mon Sep 17 00:00:00 2001 From: Svetoslav Ganov Date: Fri, 14 Sep 2012 11:33:39 -0700 Subject: [PATCH] Text layout in switch may be null when accessibility events are fired. 1. The layout containing the text of a Switch is initialized on measure and if an accessibility event is fired before that then a NPE happens. bug:7169419 Change-Id: Iee3c01ca9157d14d228c4ff33c0810507e0e25a7 --- core/java/android/widget/Switch.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/java/android/widget/Switch.java b/core/java/android/widget/Switch.java index 689bd02fbe16f..e754c17ca2d1c 100644 --- a/core/java/android/widget/Switch.java +++ b/core/java/android/widget/Switch.java @@ -508,9 +508,9 @@ public class Switch extends CompoundButton { @Override public void onPopulateAccessibilityEvent(AccessibilityEvent event) { super.onPopulateAccessibilityEvent(event); - CharSequence text = isChecked() ? mOnLayout.getText() : mOffLayout.getText(); - if (!TextUtils.isEmpty(text)) { - event.getText().add(text); + Layout layout = isChecked() ? mOnLayout : mOffLayout; + if (layout != null && !TextUtils.isEmpty(layout.getText())) { + event.getText().add(layout.getText()); } }