diff --git a/packages/SystemUI/docs/qs-tiles.md b/packages/SystemUI/docs/qs-tiles.md
index efcb2de0f6c30..4cb765dab741e 100644
--- a/packages/SystemUI/docs/qs-tiles.md
+++ b/packages/SystemUI/docs/qs-tiles.md
@@ -357,10 +357,12 @@ Following are methods that need to be implemented when creating a new SystemUI t
Updates the `State` of the Tile based on the state of the device as provided by the respective controller. It will be called every time the Tile becomes visible, is interacted with or `QSTileImpl#refreshState` is called. After this is done, the updated state will be reflected in the UI.
* ```java
+ @Deprecated
public int getMetricsCategory()
```
- Identifier for this Tile, as defined in [proto/src/metrics_constants/metrics_constants.proto](/proto/src/metrics_constants/metrics_constants.proto). This is used to log events related to this Tile.
+ ~~Identifier for this Tile, as defined in [proto/src/metrics_constants/metrics_constants.proto](/proto/src/metrics_constants/metrics_constants.proto). This is used to log events related to this Tile.~~
+ This is now deprecated in favor of `UiEvent` that use the tile spec.
* ```java
public boolean isAvailable()
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
index 77018d736163a..ffac26b2e2728 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
@@ -40,7 +40,7 @@ import java.util.function.Supplier;
@DependsOn(target = Icon.class)
@DependsOn(target = State.class)
public interface QSTile {
- int VERSION = 1;
+ int VERSION = 2;
DetailAdapter getDetailAdapter();
String getTileSpec();
@@ -79,6 +79,12 @@ public interface QSTile {
void longClick(@Nullable View view);
void userSwitch(int currentUser);
+
+ /**
+ * @deprecated not needed as {@link com.android.internal.logging.UiEvent} will use
+ * {@link #getMetricsSpec}
+ */
+ @Deprecated
int getMetricsCategory();
void setListening(Object client, boolean listening);
@@ -117,7 +123,6 @@ public interface QSTile {
void onShowDetail(boolean show);
void onToggleStateChanged(boolean state);
void onScanStateChanged(boolean state);
- void onAnnouncementRequested(CharSequence announcement);
}
@ProvidesInterface(version = Icon.VERSION)
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index b64f81a4174ed..308542674f6ed 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -425,60 +425,24 @@
Close
-
- Wifi turned off.
-
- Wifi turned on.
-
- Airplane mode turned off.
-
- Airplane mode turned on.
total silence
alarms only
Do Not Disturb.
-
- Do Not Disturb turned off.
-
- Do Not Disturb turned on.
Bluetooth.
Bluetooth on.
-
- Bluetooth turned off.
-
- Bluetooth turned on.
-
- Location reporting turned off.
-
- Location reporting turned on.
Alarm set for %s.
More time.
Less time.
-
- Flashlight turned off.
-
- Flashlight turned on.
-
- Mobile hotspot turned off.
-
- Mobile hotspot turned on.
Screen casting stopped.
-
-
-
- Data Saver turned off.
-
- Data Saver turned on.
-
-
Display brightness
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 20c0fdd7de890..1cfbf113a7351 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -558,14 +558,6 @@ public class QSPanel extends LinearLayout implements Tunable {
fireScanStateChanged(tileRecord.scanState);
}
}
-
- @Override
- public void onAnnouncementRequested(CharSequence announcement) {
- if (announcement != null) {
- mHandler.obtainMessage(H.ANNOUNCE_FOR_ACCESSIBILITY, announcement)
- .sendToTarget();
- }
- }
};
tileRecord.tile.addCallback(callback);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
index d4350f16873b0..eae256532c545 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
@@ -212,9 +212,6 @@ public class TileQueryHelper {
@Override
public void onScanStateChanged(boolean state) {}
-
- @Override
- public void onAnnouncementRequested(CharSequence announcement) {}
}
private void addPackageTiles(final QSTileHost host) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
index 70e3a2b2bf268..b5f07d175274f 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
@@ -156,8 +156,14 @@ public abstract class QSTileImpl implements QSTile, Lifecy
*
* Categories are defined in {@link com.android.internal.logging.nano.MetricsProto.MetricsEvent}
* by editing frameworks/base/proto/src/metrics_constants.proto.
+ *
+ * @deprecated Not needed as this logging is deprecated. Logging tiles is done using
+ * {@link QSTile#getMetricsSpec}
*/
- abstract public int getMetricsCategory();
+ @Deprecated
+ public int getMetricsCategory() {
+ return 0;
+ }
/**
* Performs initialization of the tile
@@ -445,27 +451,11 @@ public abstract class QSTileImpl implements QSTile, Lifecy
}
private void handleStateChanged() {
- boolean delayAnnouncement = shouldAnnouncementBeDelayed();
if (mCallbacks.size() != 0) {
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).onStateChanged(mState);
}
- if (mAnnounceNextStateChange && !delayAnnouncement) {
- String announcement = composeChangeAnnouncement();
- if (announcement != null) {
- mCallbacks.get(0).onAnnouncementRequested(announcement);
- }
- }
}
- mAnnounceNextStateChange = mAnnounceNextStateChange && delayAnnouncement;
- }
-
- protected boolean shouldAnnouncementBeDelayed() {
- return false;
- }
-
- protected String composeChangeAnnouncement() {
- return null;
}
private void handleShowDetail(boolean show) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
index 5650a17e703a1..ccec80db3ea58 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
@@ -144,15 +144,6 @@ public class AirplaneModeTile extends QSTileImpl {
return MetricsEvent.QS_AIRPLANEMODE;
}
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return mContext.getString(R.string.accessibility_quick_settings_airplane_changed_on);
- } else {
- return mContext.getString(R.string.accessibility_quick_settings_airplane_changed_off);
- }
- }
-
public void handleSetListening(boolean listening) {
super.handleSetListening(listening);
if (mListening == listening) return;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
index 6fcfc3af9c873..5552105a77c0c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
@@ -242,15 +242,6 @@ public class BluetoothTile extends QSTileImpl {
return MetricsEvent.QS_BLUETOOTH;
}
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return mContext.getString(R.string.accessibility_quick_settings_bluetooth_changed_on);
- } else {
- return mContext.getString(R.string.accessibility_quick_settings_bluetooth_changed_off);
- }
- }
-
@Override
public boolean isAvailable() {
return mController.isBluetoothSupported();
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
index 6e0ae29630bcc..76c84f9b1b9e0 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
@@ -287,15 +287,6 @@ public class CastTile extends QSTileImpl {
return MetricsEvent.QS_CAST;
}
- @Override
- protected String composeChangeAnnouncement() {
- if (!mState.value) {
- // We only announce when it's turned off to avoid vocal overflow.
- return mContext.getString(R.string.accessibility_casting_turned_off);
- }
- return null;
- }
-
private String getDeviceName(CastDevice device) {
return device.name != null ? device.name
: mContext.getString(R.string.quick_settings_cast_device_default_name);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
index a2577d6e7f602..1bbe411eee25f 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DataSaverTile.java
@@ -137,15 +137,6 @@ public class DataSaverTile extends QSTileImpl implements
return MetricsEvent.QS_DATA_SAVER;
}
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return mContext.getString(R.string.accessibility_quick_settings_data_saver_changed_on);
- } else {
- return mContext.getString(R.string.accessibility_quick_settings_data_saver_changed_off);
- }
- }
-
@Override
public void onDataSaverChanged(boolean isDataSaving) {
refreshState(isDataSaving);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java
index bb274588e1e20..49c548da63f54 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java
@@ -306,15 +306,6 @@ public class DndTile extends QSTileImpl {
return MetricsEvent.QS_DND;
}
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return mContext.getString(R.string.accessibility_quick_settings_dnd_changed_on);
- } else {
- return mContext.getString(R.string.accessibility_quick_settings_dnd_changed_off);
- }
- }
-
@Override
public void handleSetListening(boolean listening) {
super.handleSetListening(listening);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
index c0065a0ec3710..73b0896b06a50 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/FlashlightTile.java
@@ -152,15 +152,6 @@ public class FlashlightTile extends QSTileImpl implements
return MetricsEvent.QS_FLASHLIGHT;
}
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return mContext.getString(R.string.accessibility_quick_settings_flashlight_changed_on);
- } else {
- return mContext.getString(R.string.accessibility_quick_settings_flashlight_changed_off);
- }
- }
-
@Override
public void onFlashlightChanged(boolean enabled) {
refreshState(enabled);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
index 87edc2cf8bac0..d7aa8b21a150e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
@@ -195,15 +195,6 @@ public class HotspotTile extends QSTileImpl {
return MetricsEvent.QS_HOTSPOT;
}
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return mContext.getString(R.string.accessibility_quick_settings_hotspot_changed_on);
- } else {
- return mContext.getString(R.string.accessibility_quick_settings_hotspot_changed_off);
- }
- }
-
/**
* Listens to changes made to hotspot and data saver states (to toggle tile availability).
*/
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java
index 6a018f61a733e..fc93f44a44aa0 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java
@@ -132,15 +132,6 @@ public class LocationTile extends QSTileImpl {
return MetricsEvent.QS_LOCATION;
}
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return mContext.getString(R.string.accessibility_quick_settings_location_changed_on);
- } else {
- return mContext.getString(R.string.accessibility_quick_settings_location_changed_off);
- }
- }
-
private final class Callback implements LocationChangeCallback,
KeyguardStateController.Callback {
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
index cd2e27a41f1e7..0886b46f9d2f2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/NfcTile.java
@@ -147,15 +147,6 @@ public class NfcTile extends QSTileImpl {
return MetricsEvent.QS_NFC;
}
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return mContext.getString(R.string.quick_settings_nfc_on);
- } else {
- return mContext.getString(R.string.quick_settings_nfc_off);
- }
- }
-
private NfcAdapter getAdapter() {
if (mAdapter == null) {
try {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
index 0bbb5bdd851ae..0b1019875adef 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java
@@ -129,11 +129,6 @@ public class RotationLockTile extends QSTileImpl {
return mContext.getString(R.string.accessibility_quick_settings_rotation);
}
- @Override
- protected String composeChangeAnnouncement() {
- return getAccessibilityString(mState.value);
- }
-
private final RotationLockControllerCallback mCallback = new RotationLockControllerCallback() {
@Override
public void onRotationLockStateChanged(boolean rotationLocked, boolean affordanceVisible) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
index da0069f29b1c3..1608248f7c549 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java
@@ -253,20 +253,6 @@ public class WifiTile extends QSTileImpl {
return MetricsEvent.QS_WIFI;
}
- @Override
- protected boolean shouldAnnouncementBeDelayed() {
- return mStateBeforeClick.value == mState.value;
- }
-
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return mContext.getString(R.string.accessibility_quick_settings_wifi_changed_on);
- } else {
- return mContext.getString(R.string.accessibility_quick_settings_wifi_changed_off);
- }
- }
-
@Override
public boolean isAvailable() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI);