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

Commit 76536d72 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by Cherrypicker Worker
Browse files

ViewRootImpl: lazy initialization of mFastScrollSoundEffectsEnabled

mFastScrollSoundEffectsEnabled was initialized in the constructor
from a used-once instance of AudioManager.
Move initialization of this varialble to a lazy-initialization
where mAudioManager is also lazy-initialized, getAudioManager(),
which is only ever called in playSoundEffect(int), which reads
mFastScrollSoundEffectsEnabled.

Bug: 272459959
Bug: 266370934
Test: see steps in bug
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a5ba10f05931bba7be80e2484ed3889b04764c62)
Merged-In: Ib0bd59288197c05b13b9cb8a69d79960338c3c18
Change-Id: Ib0bd59288197c05b13b9cb8a69d79960338c3c18
parent 10be070b
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -417,7 +417,8 @@ public final class ViewRootImpl implements ViewParent,
    private boolean mUseBLASTAdapter;
    private boolean mForceDisableBLAST;

    private boolean mFastScrollSoundEffectsEnabled;
    /** lazily-initialized in getAudioManager() */
    private boolean mFastScrollSoundEffectsEnabled = false;

    /**
     * Signals that compatibility booleans have been initialized according to
@@ -1028,8 +1029,6 @@ public final class ViewRootImpl implements ViewParent,

        loadSystemProperties();
        mImeFocusController = new ImeFocusController(this);
        AudioManager audioManager = mContext.getSystemService(AudioManager.class);
        mFastScrollSoundEffectsEnabled = audioManager.areNavigationRepeatSoundEffectsEnabled();

        mScrollCaptureRequestTimeout = SCROLL_CAPTURE_REQUEST_TIMEOUT_MILLIS;
        mOnBackInvokedDispatcher = new WindowOnBackInvokedDispatcher(context);
@@ -8340,6 +8339,7 @@ public final class ViewRootImpl implements ViewParent,
        }
        if (mAudioManager == null) {
            mAudioManager = (AudioManager) mView.getContext().getSystemService(Context.AUDIO_SERVICE);
            mFastScrollSoundEffectsEnabled = mAudioManager.areNavigationRepeatSoundEffectsEnabled();
        }
        return mAudioManager;
    }