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

Commit 45256493 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

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

Change-Id: I4c0006017f2cabf451f2a5aebfcc91c9b7f680c2
parents 1b4cda22 7a03c3f7
Loading
Loading
Loading
Loading
+14 −1
Original line number Original line Diff line number Diff line
@@ -355,10 +355,23 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
    }
    }


    public void addTile(ComponentName tile) {
    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);
        String spec = CustomTile.toSpec(tile);
        if (!mTileSpecs.contains(spec)) {
        if (!mTileSpecs.contains(spec)) {
            List<String> newSpecs = new ArrayList<>(mTileSpecs);
            List<String> newSpecs = new ArrayList<>(mTileSpecs);
            if (end) {
                newSpecs.add(spec);
            } else {
                newSpecs.add(0, spec);
                newSpecs.add(0, spec);
            }
            changeTiles(mTileSpecs, newSpecs);
            changeTiles(mTileSpecs, newSpecs);
        }
        }
    }
    }
+1 −1
Original line number Original line Diff line number Diff line
@@ -274,7 +274,7 @@ public class AutoTileManager {
            }
            }
            if (value != 0) {
            if (value != 0) {
                if (mSpec.startsWith(CustomTile.PREFIX)) {
                if (mSpec.startsWith(CustomTile.PREFIX)) {
                    mHost.addTile(CustomTile.getComponentFromSpec(mSpec));
                    mHost.addTile(CustomTile.getComponentFromSpec(mSpec), /* end */ true);
                } else {
                } else {
                    mHost.addTile(mSpec);
                    mHost.addTile(mSpec);
                }
                }
+31 −1
Original line number Original line Diff line number Diff line
@@ -219,12 +219,42 @@ public class QSTileHostTest extends SysuiTestCase {
    public void testNoRepeatedSpecs_customTile() {
    public void testNoRepeatedSpecs_customTile() {
        mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, CUSTOM_TILE_SPEC);
        mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, CUSTOM_TILE_SPEC);


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


        assertEquals(1, mQSTileHost.mTileSpecs.size());
        assertEquals(1, mQSTileHost.mTileSpecs.size());
        assertEquals(CUSTOM_TILE_SPEC, mQSTileHost.mTileSpecs.get(0));
        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
    @Test
    public void testLoadTileSpec_repeated() {
    public void testLoadTileSpec_repeated() {
        List<String> specs = QSTileHost.loadTileSpecs(mContext, "spec1,spec1,spec2");
        List<String> specs = QSTileHost.loadTileSpecs(mContext, "spec1,spec1,spec2");
+3 −2
Original line number Original line Diff line number Diff line
@@ -172,11 +172,12 @@ public class AutoTileManagerTest extends SysuiTestCase {
    }
    }


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


    @Test
    @Test