diff options
| author | Fabian Kozynski <kozynski@google.com> | 2020-08-05 10:50:35 -0400 |
|---|---|---|
| committer | Fabian Kozynski <kozynski@google.com> | 2020-08-05 10:50:35 -0400 |
| commit | 033a5ef99c55baec6b370d61823cbc52bdc9fa16 (patch) | |
| tree | 420a53b00f74b4b085f6e3d1adfdc361a9d97beb | |
| parent | 8fc8732db12e9d3fd76d783491730ca79b6de0e9 (diff) | |
Enforce setCurrentState calls are on main thread
These calls need to be done in main thread. Now that it's enforced by
LifecycleRegistry, it should also be enforced here.
Fixes: 162923566
Test: manual
Change-Id: I569123ca240bec24f805ab87dfab25daf3545844
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java | 8 |
1 files changed, 5 insertions, 3 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 8c485a6a950f..d2aaaede3f4b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java @@ -451,15 +451,17 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy if (listening) { if (mListeners.add(listener) && mListeners.size() == 1) { if (DEBUG) Log.d(TAG, "handleSetListening true"); - mLifecycle.setCurrentState(RESUMED); handleSetListening(listening); - refreshState(); // Ensure we get at least one refresh after listening. + mUiHandler.post(() -> { + mLifecycle.setCurrentState(RESUMED); + refreshState(); // Ensure we get at least one refresh after listening. + }); } } else { if (mListeners.remove(listener) && mListeners.size() == 0) { if (DEBUG) Log.d(TAG, "handleSetListening false"); - mLifecycle.setCurrentState(STARTED); handleSetListening(listening); + mUiHandler.post(() -> mLifecycle.setCurrentState(STARTED)); } } updateIsFullQs(); |
