diff options
Diffstat (limited to 'core/java/android/widget/ToggleButton.java')
| -rw-r--r-- | core/java/android/widget/ToggleButton.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/core/java/android/widget/ToggleButton.java b/core/java/android/widget/ToggleButton.java index 9255ccb5cda7..59e0c16cde37 100644 --- a/core/java/android/widget/ToggleButton.java +++ b/core/java/android/widget/ToggleButton.java @@ -17,6 +17,7 @@ package android.widget; import android.annotation.FloatRange; +import android.annotation.NonNull; import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; @@ -24,6 +25,8 @@ import android.graphics.drawable.LayerDrawable; import android.util.AttributeSet; import android.view.inspector.InspectableProperty; +import com.android.internal.R; + /** * Displays checked/unchecked states as a button * with a "light" indicator and by default accompanied with the text "ON" or "OFF". @@ -55,6 +58,9 @@ public class ToggleButton extends CompoundButton { mTextOff = a.getText(com.android.internal.R.styleable.ToggleButton_textOff); mDisabledAlpha = a.getFloat(com.android.internal.R.styleable.ToggleButton_disabledAlpha, 0.5f); syncTextState(); + // Default state is derived from on/off-text, so state has to be updated when on/off-text + // are updated. + setDefaultStateDescritption(); a.recycle(); } @@ -103,6 +109,9 @@ public class ToggleButton extends CompoundButton { */ public void setTextOn(CharSequence textOn) { mTextOn = textOn; + // Default state is derived from on/off-text, so state has to be updated when on/off-text + // are updated. + setDefaultStateDescritption(); } /** @@ -122,6 +131,9 @@ public class ToggleButton extends CompoundButton { */ public void setTextOff(CharSequence textOff) { mTextOff = textOff; + // Default state is derived from on/off-text, so state has to be updated when on/off-text + // are updated. + setDefaultStateDescritption(); } /** @@ -172,4 +184,15 @@ public class ToggleButton extends CompoundButton { public CharSequence getAccessibilityClassName() { return ToggleButton.class.getName(); } + + /** @hide **/ + @Override + @NonNull + protected CharSequence getButtonStateDescription() { + if (isChecked()) { + return mTextOn == null ? getResources().getString(R.string.capital_on) : mTextOn; + } else { + return mTextOff == null ? getResources().getString(R.string.capital_off) : mTextOff; + } + } } |
