Loading packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +13 −7 Original line number Diff line number Diff line Loading @@ -364,13 +364,18 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { private void distributeTiles() { emptyAndInflateOrRemovePages(); final int tileCount = mPages.get(0).maxTiles(); if (DEBUG) Log.d(TAG, "Distributing tiles"); final int tilesPerPageCount = mPages.get(0).maxTiles(); int index = 0; final int NT = mTiles.size(); for (int i = 0; i < NT; i++) { final int totalTilesCount = mTiles.size(); if (DEBUG) { Log.d(TAG, "Distributing tiles: " + "[tilesPerPageCount=" + tilesPerPageCount + "]" + "[totalTilesCount=" + totalTilesCount + "]" ); } for (int i = 0; i < totalTilesCount; i++) { TileRecord tile = mTiles.get(i); if (mPages.get(index).mRecords.size() == tileCount) index++; if (mPages.get(index).mRecords.size() == tilesPerPageCount) index++; if (DEBUG) { Log.d(TAG, "Adding " + tile.tile.getClass().getSimpleName() + " to " + index); Loading Loading @@ -738,6 +743,7 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { public interface PageListener { int INVALID_PAGE = -1; void onPageChanged(boolean isFirst, int pageNumber); } } packages/SystemUI/src/com/android/systemui/qs/TileLayout.java +0 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,6 @@ public class TileLayout extends ViewGroup implements QSTileLayout { public boolean updateResources() { final Resources res = mContext.getResources(); mResourceColumns = Math.max(1, res.getInteger(R.integer.quick_settings_num_columns)); updateColumns(); mMaxCellHeight = mContext.getResources().getDimensionPixelSize(mCellHeightResId); mCellMarginHorizontal = res.getDimensionPixelSize(R.dimen.qs_tile_margin_horizontal); mSidePadding = useSidePadding() ? mCellMarginHorizontal / 2 : 0; Loading packages/SystemUI/tests/src/com/android/systemui/qs/TileLayoutTest.java +27 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import android.content.Context; import android.content.res.Resources; import android.test.suitebuilder.annotation.SmallTest; import android.view.accessibility.AccessibilityNodeInfo; Loading @@ -42,16 +44,22 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; @SmallTest @RunWith(AndroidJUnit4.class) public class TileLayoutTest extends SysuiTestCase { private TileLayout mTileLayout; private Resources mResources; private int mLayoutSizeForOneTile; private TileLayout mTileLayout; // under test @Before public void setUp() throws Exception { mTileLayout = new TileLayout(mContext); Context context = Mockito.spy(mContext); mResources = Mockito.spy(context.getResources()); Mockito.when(mContext.getResources()).thenReturn(mResources); mTileLayout = new TileLayout(context); // Layout needs to leave space for the tile margins. Three times the margin size is // sufficient for any number of columns. mLayoutSizeForOneTile = Loading Loading @@ -203,4 +211,21 @@ public class TileLayoutTest extends SysuiTestCase { verify(tileRecord1.tileView).setPosition(0); verify(tileRecord2.tileView).setPosition(1); } @Test public void resourcesChanged_updateResources_returnsTrue() { Mockito.when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(1); mTileLayout.updateResources(); // setup with 1 Mockito.when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(2); assertEquals(true, mTileLayout.updateResources()); } @Test public void resourcesSame_updateResources_returnsFalse() { Mockito.when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(1); mTileLayout.updateResources(); // setup with 1 assertEquals(false, mTileLayout.updateResources()); } } Loading
packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +13 −7 Original line number Diff line number Diff line Loading @@ -364,13 +364,18 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { private void distributeTiles() { emptyAndInflateOrRemovePages(); final int tileCount = mPages.get(0).maxTiles(); if (DEBUG) Log.d(TAG, "Distributing tiles"); final int tilesPerPageCount = mPages.get(0).maxTiles(); int index = 0; final int NT = mTiles.size(); for (int i = 0; i < NT; i++) { final int totalTilesCount = mTiles.size(); if (DEBUG) { Log.d(TAG, "Distributing tiles: " + "[tilesPerPageCount=" + tilesPerPageCount + "]" + "[totalTilesCount=" + totalTilesCount + "]" ); } for (int i = 0; i < totalTilesCount; i++) { TileRecord tile = mTiles.get(i); if (mPages.get(index).mRecords.size() == tileCount) index++; if (mPages.get(index).mRecords.size() == tilesPerPageCount) index++; if (DEBUG) { Log.d(TAG, "Adding " + tile.tile.getClass().getSimpleName() + " to " + index); Loading Loading @@ -738,6 +743,7 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { public interface PageListener { int INVALID_PAGE = -1; void onPageChanged(boolean isFirst, int pageNumber); } }
packages/SystemUI/src/com/android/systemui/qs/TileLayout.java +0 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,6 @@ public class TileLayout extends ViewGroup implements QSTileLayout { public boolean updateResources() { final Resources res = mContext.getResources(); mResourceColumns = Math.max(1, res.getInteger(R.integer.quick_settings_num_columns)); updateColumns(); mMaxCellHeight = mContext.getResources().getDimensionPixelSize(mCellHeightResId); mCellMarginHorizontal = res.getDimensionPixelSize(R.dimen.qs_tile_margin_horizontal); mSidePadding = useSidePadding() ? mCellMarginHorizontal / 2 : 0; Loading
packages/SystemUI/tests/src/com/android/systemui/qs/TileLayoutTest.java +27 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import android.content.Context; import android.content.res.Resources; import android.test.suitebuilder.annotation.SmallTest; import android.view.accessibility.AccessibilityNodeInfo; Loading @@ -42,16 +44,22 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; @SmallTest @RunWith(AndroidJUnit4.class) public class TileLayoutTest extends SysuiTestCase { private TileLayout mTileLayout; private Resources mResources; private int mLayoutSizeForOneTile; private TileLayout mTileLayout; // under test @Before public void setUp() throws Exception { mTileLayout = new TileLayout(mContext); Context context = Mockito.spy(mContext); mResources = Mockito.spy(context.getResources()); Mockito.when(mContext.getResources()).thenReturn(mResources); mTileLayout = new TileLayout(context); // Layout needs to leave space for the tile margins. Three times the margin size is // sufficient for any number of columns. mLayoutSizeForOneTile = Loading Loading @@ -203,4 +211,21 @@ public class TileLayoutTest extends SysuiTestCase { verify(tileRecord1.tileView).setPosition(0); verify(tileRecord2.tileView).setPosition(1); } @Test public void resourcesChanged_updateResources_returnsTrue() { Mockito.when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(1); mTileLayout.updateResources(); // setup with 1 Mockito.when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(2); assertEquals(true, mTileLayout.updateResources()); } @Test public void resourcesSame_updateResources_returnsFalse() { Mockito.when(mResources.getInteger(R.integer.quick_settings_num_columns)).thenReturn(1); mTileLayout.updateResources(); // setup with 1 assertEquals(false, mTileLayout.updateResources()); } }