Add logging when tile cannot be found
This will help understand why is that tile null
Bug: 279388069
Test: build
Change-Id: I03cbcaf4c88c6bfcf796cf2cffe8ccbadcbedea0
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
index 121955c..f7b2142 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java
@@ -339,9 +339,26 @@
verifyCaller(customTile);
return customTile.getQsTile();
}
+ Log.e(TAG, "Tile for token " + token + "not found. "
+ + "Tiles in map: " + availableTileComponents());
return null;
}
+ private String availableTileComponents() {
+ StringBuilder sb = new StringBuilder("[");
+ synchronized (mServices) {
+ mTokenMap.forEach((iBinder, customTile) ->
+ sb.append(iBinder.toString())
+ .append(":")
+ .append(customTile.getComponent().flattenToShortString())
+ .append(":")
+ .append(customTile.getUser())
+ .append(","));
+ }
+ sb.append("]");
+ return sb.toString();
+ }
+
@Override
public void startUnlockAndRun(IBinder token) {
CustomTile customTile = getTileForToken(token);