Add title to SeekbarPreference content description.

Adding a title to contentDesciption of the seekbar.
The title is helpful to indicate which seekbar user is changing when
talkback is enabled.

Also move SeekBarPreference from root package to widget packge.

Change-Id: I793f41c4902e350b6bc6d62761362779cc3722a9
Fix: 35421942
Test: make RunSettingsRoboTests
This commit is contained in:
Fan Zhang
2017-05-16 10:50:59 -07:00
parent 5230ffe3a5
commit cbfe1eb881
10 changed files with 16 additions and 11 deletions

View File

@@ -18,7 +18,7 @@
android:title="@string/accessibility_autoclick_preference_title"> android:title="@string/accessibility_autoclick_preference_title">
<com.android.settings.SeekBarPreference <com.android.settings.widget.SeekBarPreference
android:key="autoclick_delay" android:key="autoclick_delay"
android:title="@string/accessibility_autoclick_delay_preference_title"/> android:title="@string/accessibility_autoclick_delay_preference_title"/>

View File

@@ -29,7 +29,7 @@
android:title="@string/assist_gesture_title" android:title="@string/assist_gesture_title"
android:summary="@string/assist_gesture_summary" /> android:summary="@string/assist_gesture_summary" />
<com.android.settings.SeekBarPreference <com.android.settings.widget.SeekBarPreference
android:key="gesture_assist_sensitivity" android:key="gesture_assist_sensitivity"
android:title="@string/assist_gesture_sensitivity_title" android:title="@string/assist_gesture_sensitivity_title"
android:defaultValue="2" android:defaultValue="2"

View File

@@ -43,7 +43,7 @@
android:key="night_display_activated" android:key="night_display_activated"
android:title="@string/night_display_title" /> android:title="@string/night_display_title" />
<com.android.settings.SeekBarPreference <com.android.settings.widget.SeekBarPreference
android:key="night_display_temperature" android:key="night_display_temperature"
android:title="@string/night_display_temperature_title"/> android:title="@string/night_display_temperature_title"/>

View File

@@ -37,14 +37,14 @@
<!-- The max value for seek bars here should be kept in sync <!-- The max value for seek bars here should be kept in sync
with the max value specified in TextToSpeechSettings class. --> with the max value specified in TextToSpeechSettings class. -->
<com.android.settings.SeekBarPreference <com.android.settings.widget.SeekBarPreference
android:key="tts_default_rate" android:key="tts_default_rate"
android:title="@string/tts_default_rate_title" android:title="@string/tts_default_rate_title"
android:summary="@string/tts_default_rate_summary" android:summary="@string/tts_default_rate_summary"
android:defaultValue="50" android:defaultValue="50"
android:max="600"/> android:max="600"/>
<com.android.settings.SeekBarPreference <com.android.settings.widget.SeekBarPreference
android:key="tts_default_pitch" android:key="tts_default_pitch"
android:title="@string/tts_default_pitch_title" android:title="@string/tts_default_pitch_title"
android:summary="@string/tts_default_pitch_summary" android:summary="@string/tts_default_pitch_summary"

View File

@@ -26,7 +26,7 @@ import android.widget.Switch;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SeekBarPreference; import com.android.settings.widget.SeekBarPreference;
import com.android.settings.widget.SwitchBar; import com.android.settings.widget.SwitchBar;

View File

@@ -28,7 +28,7 @@ import android.widget.TimePicker;
import com.android.internal.app.NightDisplayController; import com.android.internal.app.NightDisplayController;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SeekBarPreference; import com.android.settings.widget.SeekBarPreference;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import java.text.DateFormat; import java.text.DateFormat;

View File

@@ -24,7 +24,7 @@ import android.provider.Settings;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.SeekBarPreference; import com.android.settings.widget.SeekBarPreference;
import com.android.settings.core.PreferenceController; import com.android.settings.core.PreferenceController;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;

View File

@@ -31,7 +31,7 @@ import android.widget.SeekBar;
import android.widget.TextView; import android.widget.TextView;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SeekBarPreference; import com.android.settings.widget.SeekBarPreference;
import java.util.Objects; import java.util.Objects;

View File

@@ -36,7 +36,7 @@ import java.util.Collections;
import com.android.settings.applications.LayoutPreference; import com.android.settings.applications.LayoutPreference;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.SeekBarPreference; import com.android.settings.widget.SeekBarPreference;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.settings; package com.android.settings.widget;
import android.content.Context; import android.content.Context;
import android.content.res.TypedArray; import android.content.res.TypedArray;
@@ -22,6 +22,7 @@ import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.v4.content.res.TypedArrayUtils; import android.support.v4.content.res.TypedArrayUtils;
import android.support.v7.preference.PreferenceViewHolder; import android.support.v7.preference.PreferenceViewHolder;
import android.text.TextUtils;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View; import android.view.View;
@@ -89,6 +90,10 @@ public class SeekBarPreference extends RestrictedPreference
mSeekBar.setMax(mMax); mSeekBar.setMax(mMax);
mSeekBar.setProgress(mProgress); mSeekBar.setProgress(mProgress);
mSeekBar.setEnabled(isEnabled()); mSeekBar.setEnabled(isEnabled());
final CharSequence title = getTitle();
if (!TextUtils.isEmpty(title)) {
mSeekBar.setContentDescription(title);
}
if (mSeekBar instanceof DefaultIndicatorSeekBar) { if (mSeekBar instanceof DefaultIndicatorSeekBar) {
((DefaultIndicatorSeekBar) mSeekBar).setDefaultProgress(mDefaultProgress); ((DefaultIndicatorSeekBar) mSeekBar).setDefaultProgress(mDefaultProgress);
} }