diff options
| author | 2020-08-10 09:09:19 +0000 | |
|---|---|---|
| committer | 2020-08-10 09:09:19 +0000 | |
| commit | 3a7f7d535a82c223e70d35b5df54d60186cc8907 (patch) | |
| tree | 42fe0cecb9eea081ecca8b4732a64a7aa7f692d4 | |
| parent | 466687dec94db39a3c97846d72362f66cbf9db5d (diff) | |
Revert "setCurrentState(DESTROYED) called from main thread"
This reverts commit 466687dec94db39a3c97846d72362f66cbf9db5d.
Reason for revert: Droidcop: Potential culprit for Bug b/163299733 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.”
Change-Id: I2ae7d22e1a167b0f16c3d4a597c9086ba28b1a8b
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java | 16 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java | 21 |
2 files changed, 2 insertions, 35 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java index 255513a31c75..d2aaaede3f4b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java @@ -14,7 +14,6 @@ package com.android.systemui.qs.tileimpl; -import static androidx.lifecycle.Lifecycle.State.CREATED; import static androidx.lifecycle.Lifecycle.State.DESTROYED; import static androidx.lifecycle.Lifecycle.State.RESUMED; import static androidx.lifecycle.Lifecycle.State.STARTED; @@ -174,7 +173,6 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy mState = newTileState(); mTmpState = newTileState(); - mUiHandler.post(() -> mLifecycle.setCurrentState(CREATED)); } protected final void resetStates() { @@ -455,9 +453,6 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy if (DEBUG) Log.d(TAG, "handleSetListening true"); handleSetListening(listening); mUiHandler.post(() -> { - // This tile has been destroyed, the state should not change anymore and we - // should not refresh it anymore. - if (mLifecycle.getCurrentState().equals(DESTROYED)) return; mLifecycle.setCurrentState(RESUMED); refreshState(); // Ensure we get at least one refresh after listening. }); @@ -466,11 +461,7 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy if (mListeners.remove(listener) && mListeners.size() == 0) { if (DEBUG) Log.d(TAG, "handleSetListening false"); handleSetListening(listening); - mUiHandler.post(() -> { - // This tile has been destroyed, the state should not change anymore. - if (mLifecycle.getCurrentState().equals(DESTROYED)) return; - mLifecycle.setCurrentState(STARTED); - }); + mUiHandler.post(() -> mLifecycle.setCurrentState(STARTED)); } } updateIsFullQs(); @@ -497,14 +488,11 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy mQSLogger.logTileDestroyed(mTileSpec, "Handle destroy"); if (mListeners.size() != 0) { handleSetListening(false); - mListeners.clear(); } mCallbacks.clear(); mHandler.removeCallbacksAndMessages(null); // This will force it to be removed from all controllers that may have it registered. - mUiHandler.post(() -> { - mLifecycle.setCurrentState(DESTROYED); - }); + mLifecycle.setCurrentState(DESTROYED); } protected void checkIfRestrictionEnforcedByAdminOnly(State state, String userRestriction) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java index 61a0d6c17eed..cccb65d11228 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java @@ -244,8 +244,6 @@ public class QSTileImplTest extends SysuiTestCase { assertNotEquals(DESTROYED, mTile.getLifecycle().getCurrentState()); mTile.handleDestroy(); - mTestableLooper.processAllMessages(); - assertEquals(DESTROYED, mTile.getLifecycle().getCurrentState()); } @@ -300,25 +298,6 @@ public class QSTileImplTest extends SysuiTestCase { assertNotEquals(DESTROYED, mTile.getLifecycle().getCurrentState()); } - @Test - public void testRefreshStateAfterDestroyedDoesNotCrash() { - mTile.destroy(); - mTile.refreshState(); - - mTestableLooper.processAllMessages(); - } - - @Test - public void testSetListeningAfterDestroyedDoesNotCrash() { - Object o = new Object(); - mTile.destroy(); - - mTile.setListening(o, true); - mTile.setListening(o, false); - - mTestableLooper.processAllMessages(); - } - private void assertEvent(UiEventLogger.UiEventEnum eventType, UiEventLoggerFake.FakeUiEvent fakeEvent) { assertEquals(eventType.getId(), fakeEvent.eventId); |