From b803a55b4a5e30a93596a7547964717e910d7a79 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Thu, 3 Oct 2019 15:00:03 -0700 Subject: [PATCH] Move listener registration to the background Fixes: 142003427 Test: manual, with breakpoints Change-Id: I16fe9a1dc1d5b89ca23387a69b260ff87392eb1a --- .../settings/BrightnessController.java | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java index 1e0a9f157ff59..176676fcb9b3d 100644 --- a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java +++ b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java @@ -152,6 +152,20 @@ public class BrightnessController implements ToggleSlider.Listener { private final Runnable mStartListeningRunnable = new Runnable() { @Override public void run() { + if (mListening) { + return; + } + mListening = true; + + if (mVrManager != null) { + try { + mVrManager.registerListener(mVrStateCallbacks); + mIsVrModeEnabled = mVrManager.getVrModeState(); + } catch (RemoteException e) { + Log.e(TAG, "Failed to register VR mode state listener: ", e); + } + } + mBrightnessObserver.startObserving(); mUserTracker.startTracking(); @@ -167,6 +181,19 @@ public class BrightnessController implements ToggleSlider.Listener { private final Runnable mStopListeningRunnable = new Runnable() { @Override public void run() { + if (!mListening) { + return; + } + mListening = false; + + if (mVrManager != null) { + try { + mVrManager.unregisterListener(mVrStateCallbacks); + } catch (RemoteException e) { + Log.e(TAG, "Failed to unregister VR mode state listener: ", e); + } + } + mBrightnessObserver.stopObserving(); mUserTracker.stopTracking(); @@ -297,39 +324,12 @@ public class BrightnessController implements ToggleSlider.Listener { } public void registerCallbacks() { - if (mListening) { - return; - } - - if (mVrManager != null) { - try { - mVrManager.registerListener(mVrStateCallbacks); - mIsVrModeEnabled = mVrManager.getVrModeState(); - } catch (RemoteException e) { - Log.e(TAG, "Failed to register VR mode state listener: ", e); - } - } - mBackgroundHandler.post(mStartListeningRunnable); - mListening = true; } /** Unregister all call backs, both to and from the controller */ public void unregisterCallbacks() { - if (!mListening) { - return; - } - - if (mVrManager != null) { - try { - mVrManager.unregisterListener(mVrStateCallbacks); - } catch (RemoteException e) { - Log.e(TAG, "Failed to unregister VR mode state listener: ", e); - } - } - mBackgroundHandler.post(mStopListeningRunnable); - mListening = false; mControlValueInitialized = false; }