Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad461e64 authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Automerger Merge Worker
Browse files

Merge "Auto added tiles should add at the end" into rvc-dev am: 7a03c3f7 am: f9febb2c

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11718820

Change-Id: I3371439d2f55aaffbf30de017045a9af6048ce94
parents e2426c48 f9febb2c
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -358,10 +358,23 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
    }

    public void addTile(ComponentName tile) {
        addTile(tile, /* end */ false);
    }

    /**
     * Adds a custom tile to the set of current tiles.
     * @param tile the component name of the {@link android.service.quicksettings.TileService}
     * @param end if true, the tile will be added at the end. If false, at the beginning.
     */
    public void addTile(ComponentName tile, boolean end) {
        String spec = CustomTile.toSpec(tile);
        if (!mTileSpecs.contains(spec)) {
            List<String> newSpecs = new ArrayList<>(mTileSpecs);
            if (end) {
                newSpecs.add(spec);
            } else {
                newSpecs.add(0, spec);
            }
            changeTiles(mTileSpecs, newSpecs);
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -333,7 +333,7 @@ public class AutoTileManager implements UserAwareController {
            }
            if (value != 0) {
                if (mSpec.startsWith(CustomTile.PREFIX)) {
                    mHost.addTile(CustomTile.getComponentFromSpec(mSpec));
                    mHost.addTile(CustomTile.getComponentFromSpec(mSpec), /* end */ true);
                } else {
                    mHost.addTile(mSpec);
                }
+31 −1
Original line number Diff line number Diff line
@@ -219,12 +219,42 @@ public class QSTileHostTest extends SysuiTestCase {
    public void testNoRepeatedSpecs_customTile() {
        mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, CUSTOM_TILE_SPEC);

        mQSTileHost.addTile(CUSTOM_TILE);
        mQSTileHost.addTile(CUSTOM_TILE, /* end */ false);

        assertEquals(1, mQSTileHost.mTileSpecs.size());
        assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.mTileSpecs.get(0));
    }

    @Test
    public void testAddedAtBeginningOnDefault_customTile() {
        mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "spec1"); // seed

        mQSTileHost.addTile(CUSTOM_TILE);

        assertEquals(2, mQSTileHost.mTileSpecs.size());
        assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.mTileSpecs.get(0));
    }

    @Test
    public void testAddedAtBeginning_customTile() {
        mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "spec1"); // seed

        mQSTileHost.addTile(CUSTOM_TILE, /* end */ false);

        assertEquals(2, mQSTileHost.mTileSpecs.size());
        assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.mTileSpecs.get(0));
    }

    @Test
    public void testAddedAtEnd_customTile() {
        mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "spec1"); // seed

        mQSTileHost.addTile(CUSTOM_TILE, /* end */ true);

        assertEquals(2, mQSTileHost.mTileSpecs.size());
        assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.mTileSpecs.get(1));
    }

    @Test
    public void testLoadTileSpec_repeated() {
        List<String> specs = QSTileHost.loadTileSpecs(mContext, "spec1,spec1,spec2");
+3 −2
Original line number Diff line number Diff line
@@ -348,11 +348,12 @@ public class AutoTileManagerTest extends SysuiTestCase {
    }

    @Test
    public void testSettingTileAddedComponent_onChanged() {
    public void testSettingTileAddedComponentAtEnd_onChanged() {
        changeValue(TEST_SETTING_COMPONENT, 1);
        waitForIdleSync();
        verify(mAutoAddTracker).setTileAdded(TEST_CUSTOM_SPEC);
        verify(mQsTileHost).addTile(ComponentName.unflattenFromString(TEST_COMPONENT));
        verify(mQsTileHost).addTile(ComponentName.unflattenFromString(TEST_COMPONENT)
            , /* end */ true);
    }

    @Test