From 20852a15efcc8e04166da65e4be544fc920869eb Mon Sep 17 00:00:00 2001 From: yingleiw Date: Tue, 21 Jan 2020 17:47:50 -0800 Subject: [PATCH] Set stateDescription during ProgressBar initialization onProgressRefresh() is only called when the progress changes. So we should set stateDescription during initialization. Test: tested with talkback test app. Without this change, the stateDescription is not available when we focus on the seekbar. After the change, the stateDescription is avaiable. Change-Id: I56071ed28e6917c6bd14162884b10440c6955751 --- core/java/android/widget/ProgressBar.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/java/android/widget/ProgressBar.java b/core/java/android/widget/ProgressBar.java index 733a7753568a2..970d70cf1fb4c 100644 --- a/core/java/android/widget/ProgressBar.java +++ b/core/java/android/widget/ProgressBar.java @@ -52,7 +52,6 @@ import android.view.View; import android.view.ViewDebug; import android.view.ViewHierarchyEncoder; import android.view.accessibility.AccessibilityEvent; -import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; @@ -307,6 +306,9 @@ public class ProgressBar extends View { setMax(a.getInt(R.styleable.ProgressBar_max, mMax)); setProgress(a.getInt(R.styleable.ProgressBar_progress, mProgress)); + // onProgressRefresh() is only called when the progress changes. So we should set + // stateDescription during initialization here. + super.setStateDescription(formatStateDescription(mProgress)); setSecondaryProgress(a.getInt( R.styleable.ProgressBar_secondaryProgress, mSecondaryProgress)); @@ -1599,8 +1601,7 @@ public class ProgressBar extends View { } void onProgressRefresh(float scale, boolean fromUser, int progress) { - if (AccessibilityManager.getInstance(mContext).isEnabled() - && mCustomStateDescription == null) { + if (mCustomStateDescription == null) { super.setStateDescription(formatStateDescription(mProgress)); } }