diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index fbe7175b757f3..6e61148f4ac87 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -99,7 +99,7 @@ - wifi,bt,dnd,flashlight,rotation,battery,cell,airplane,cast,screenrecord + internet,wifi,bt,dnd,flashlight,rotation,battery,cell,airplane,cast,screenrecord @@ -107,7 +107,7 @@ - wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,location,hotspot,inversion,saver,dark,work,cast,night,screenrecord,reverse,reduce_brightness,cameratoggle,mictoggle,controls,alarm,wallet + internet,wifi,cell,battery,dnd,flashlight,rotation,bt,airplane,location,hotspot,inversion,saver,dark,work,cast,night,screenrecord,reverse,reduce_brightness,cameratoggle,mictoggle,controls,alarm,wallet diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java index 3e3451e64b491..0a9c12fa4a13a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java @@ -474,22 +474,21 @@ public class QSTileHost implements QSHost, Tunable, PluginListener, D if (tiles.contains("internet") || tiles.contains("wifi") || tiles.contains("cell")) { if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) { if (!tiles.contains("internet")) { - tiles.add("internet"); - } - if (tiles.contains("wifi")) { + if (tiles.contains("wifi")) { + // Replace the WiFi with Internet, and remove the Cell + tiles.set(tiles.indexOf("wifi"), "internet"); + tiles.remove("cell"); + } else if (tiles.contains("cell")) { + // Replace the Cell with Internet + tiles.set(tiles.indexOf("cell"), "internet"); + } + } else { tiles.remove("wifi"); - } - if (tiles.contains("cell")) { tiles.remove("cell"); } } else { if (tiles.contains("internet")) { - tiles.remove("internet"); - } - if (!tiles.contains("wifi")) { - tiles.add("wifi"); - } - if (!tiles.contains("cell")) { + tiles.set(tiles.indexOf("internet"), "wifi"); tiles.add("cell"); } } @@ -513,6 +512,14 @@ public class QSTileHost implements QSHost, Tunable, PluginListener, D && GarbageMonitor.ADD_MEMORY_TILE_TO_DEFAULT_ON_DEBUGGABLE_BUILDS) { tiles.add(GarbageMonitor.MemoryTile.TILE_SPEC); } + // TODO(b/174753536): Change the config file directly. + // Filter out unused tiles from the default QS config. + if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) { + tiles.remove("cell"); + tiles.remove("wifi"); + } else { + tiles.remove("internet"); + } return tiles; } 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 32b41ec0ab66f..d72f8e9ca1c08 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java @@ -115,34 +115,13 @@ public class TileQueryHelper { final ArrayList tilesToAdd = new ArrayList<>(); // TODO(b/174753536): Move it into the config file. - // Only do the below hacking when at least one of the below tiles exist - // --InternetTile - // --WiFiTile - // --CellularTIle - if (possibleTiles.contains("internet") || possibleTiles.contains("wifi") - || possibleTiles.contains("cell")) { - if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) { - if (!possibleTiles.contains("internet")) { - possibleTiles.add("internet"); - } - if (possibleTiles.contains("wifi")) { - possibleTiles.remove("wifi"); - } - if (possibleTiles.contains("cell")) { - possibleTiles.remove("cell"); - } - } else { - if (possibleTiles.contains("internet")) { - possibleTiles.remove("internet"); - } - if (!possibleTiles.contains("wifi")) { - possibleTiles.add("wifi"); - } - if (!possibleTiles.contains("cell")) { - possibleTiles.add("cell"); - } - } + if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) { + possibleTiles.remove("cell"); + possibleTiles.remove("wifi"); + } else { + possibleTiles.remove("internet"); } + for (String spec : possibleTiles) { // Only add current and stock tiles that can be created from QSFactoryImpl. // Do not include CustomTile. Those will be created by `addPackageTiles`.