diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 58865ab962bbf..e6fcdff438328 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -382,6 +382,8 @@
Airplane Mode %s.
Bluetooth %s.
+
+ Location %s.
Alarm set for %s.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
index 5423bb639044f..37504fb8e88c2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
@@ -630,8 +630,19 @@ class QuickSettings {
return true; // Consume click
}} );
}
- mModel.addLocationTile(locationTile,
- new QuickSettingsModel.BasicRefreshCallback(locationTile));
+ mModel.addLocationTile(locationTile, new QuickSettingsModel.RefreshCallback() {
+ @Override
+ public void refreshView(QuickSettingsTileView unused, State state) {
+ locationTile.setImageResource(state.iconId);
+ String locationState = mContext.getString(
+ (state.enabled) ? R.string.accessibility_desc_on
+ : R.string.accessibility_desc_off);
+ locationTile.setContentDescription(mContext.getString(
+ R.string.accessibility_quick_settings_location,
+ locationState));
+ locationTile.setText(state.label);
+ }
+ });
parent.addView(locationTile);
}