Loading packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -209,7 +209,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene for (String tile : defTiles.split(",")) { for (String tile : defTiles.split(",")) { tiles.add(tile); tiles.add(tile); } } mTileAdapter.setTileSpecs(tiles); mTileAdapter.resetTileSpecs(mHost, tiles); } } private void setTileSpecs() { private void setTileSpecs() { Loading packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -114,6 +114,12 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta mCurrentSpecs = newSpecs; mCurrentSpecs = newSpecs; } } public void resetTileSpecs(QSTileHost host, List<String> specs) { // Notify the host so the tiles get removed callbacks. host.changeTiles(mCurrentSpecs, specs); setTileSpecs(specs); } public void setTileSpecs(List<String> currentSpecs) { public void setTileSpecs(List<String> currentSpecs) { if (currentSpecs.equals(mCurrentSpecs)) { if (currentSpecs.equals(mCurrentSpecs)) { return; return; Loading packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileAdapterTest.java 0 → 100644 +51 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.android.systemui.qs.customize; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.testing.TestableLooper.RunWithLooper; import com.android.systemui.SysuiTestCase; import com.android.systemui.qs.QSTileHost; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import java.util.Collections; @RunWith(AndroidTestingRunner.class) @RunWithLooper public class TileAdapterTest extends SysuiTestCase { private TileAdapter mTileAdapter; @Before public void setup() throws Exception { TestableLooper.get(this).runWithLooper(() -> mTileAdapter = new TileAdapter(mContext)); } @Test public void testResetNotifiesHost() { QSTileHost host = mock(QSTileHost.class); mTileAdapter.resetTileSpecs(host, Collections.emptyList()); verify(host).changeTiles(any(), any()); } } Loading
packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -209,7 +209,7 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene for (String tile : defTiles.split(",")) { for (String tile : defTiles.split(",")) { tiles.add(tile); tiles.add(tile); } } mTileAdapter.setTileSpecs(tiles); mTileAdapter.resetTileSpecs(mHost, tiles); } } private void setTileSpecs() { private void setTileSpecs() { Loading
packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -114,6 +114,12 @@ public class TileAdapter extends RecyclerView.Adapter<Holder> implements TileSta mCurrentSpecs = newSpecs; mCurrentSpecs = newSpecs; } } public void resetTileSpecs(QSTileHost host, List<String> specs) { // Notify the host so the tiles get removed callbacks. host.changeTiles(mCurrentSpecs, specs); setTileSpecs(specs); } public void setTileSpecs(List<String> currentSpecs) { public void setTileSpecs(List<String> currentSpecs) { if (currentSpecs.equals(mCurrentSpecs)) { if (currentSpecs.equals(mCurrentSpecs)) { return; return; Loading
packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileAdapterTest.java 0 → 100644 +51 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.android.systemui.qs.customize; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.testing.TestableLooper.RunWithLooper; import com.android.systemui.SysuiTestCase; import com.android.systemui.qs.QSTileHost; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import java.util.Collections; @RunWith(AndroidTestingRunner.class) @RunWithLooper public class TileAdapterTest extends SysuiTestCase { private TileAdapter mTileAdapter; @Before public void setup() throws Exception { TestableLooper.get(this).runWithLooper(() -> mTileAdapter = new TileAdapter(mContext)); } @Test public void testResetNotifiesHost() { QSTileHost host = mock(QSTileHost.class); mTileAdapter.resetTileSpecs(host, Collections.emptyList()); verify(host).changeTiles(any(), any()); } }