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
This commit is contained in:
committed by
Cherrypicker Worker
parent
10be070b98
commit
76536d72f6
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user