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 9d2be39b28fc1..4dcacd4bffdcf 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java @@ -87,6 +87,8 @@ public class TileQueryHelper { if (current != null) { // The setting QS_TILES is not populated immediately upon Factory Reset possibleTiles.addAll(Arrays.asList(current.split(","))); + } else { + current = ""; } String[] stockSplit = stock.split(","); for (String spec : stockSplit) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java index 26fa20de4e86a..c3a3e6339daa1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java @@ -218,4 +218,12 @@ public class TileQueryHelperTest extends SysuiTestCase { } assertFalse(specs.contains("other")); } + + @Test + public void testQueryTiles_nullSetting() { + Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.QS_TILES, null); + mContext.getOrCreateTestableResources().addOverride(R.string.quick_settings_tiles_stock, + STOCK_TILES); + mTileQueryHelper.queryTiles(mQSTileHost); + } }