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

Commit 92d28c1f authored by Fabián Kozynski's avatar Fabián Kozynski
Browse files

Refresh tiles on user change

Post a stale tile when the user changes (right after), this will force
tiles to do a refresh and update the UI, preventing leaking old info.

Test: manual
Test: atest QSTileImplTest
Bug: 361770993
Flag: EXEMPT bugfix
Change-Id: Ief989e939d099d531f9d20d7b61847cd92bf7eed
parent f4883225
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -350,6 +350,7 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy

    public void userSwitch(int newUserId) {
        mHandler.obtainMessage(H.USER_SWITCH, newUserId, 0).sendToTarget();
        postStale();
    }

    public void destroy() {
+11 −0
Original line number Diff line number Diff line
@@ -497,6 +497,17 @@ public class QSTileImplTest extends SysuiTestCase {
        assertThat(mTile.mRefreshes).isEqualTo(1);
    }

    @Test
    public void testStaleTriggeredOnUserSwitch() {
        mTile.clearRefreshes();

        mTile.userSwitch(10);
        mTestableLooper.processAllMessages();

        assertFalse(mTile.isListening());
        assertThat(mTile.mRefreshes).isEqualTo(1);
    }

    private void assertEvent(UiEventLogger.UiEventEnum eventType,
            UiEventLoggerFake.FakeUiEvent fakeEvent) {
        assertEquals(eventType.getId(), fakeEvent.eventId);