From 8d5d55af47f33f5ad6303c7692128e3b0a9ecef6 Mon Sep 17 00:00:00 2001 From: Aurimas Liutikas Date: Wed, 7 Jun 2017 14:11:10 -0700 Subject: [PATCH] Fix SynchronizeOnNonFinalField warning in FragmentManager. Bug: 62269464 Test: ./gradlew assembleErrorProne Change-Id: I2246475941ea606466172f4da941fc3b9db72c5b --- core/java/android/app/FragmentManager.java | 54 ++-------------------- 1 file changed, 3 insertions(+), 51 deletions(-) diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java index 9fb9c00ee9e96..3ad30bf2b0454 100644 --- a/core/java/android/app/FragmentManager.java +++ b/core/java/android/app/FragmentManager.java @@ -679,7 +679,8 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate ArrayList mAvailBackStackIndices; ArrayList mBackStackChangeListeners; - CopyOnWriteArrayList> mLifecycleCallbacks; + final CopyOnWriteArrayList> + mLifecycleCallbacks = new CopyOnWriteArrayList<>(); int mCurState = Fragment.INITIALIZING; FragmentHostCallback mHost; @@ -3189,17 +3190,10 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate public void registerFragmentLifecycleCallbacks(FragmentLifecycleCallbacks cb, boolean recursive) { - if (mLifecycleCallbacks == null) { - mLifecycleCallbacks = new CopyOnWriteArrayList<>(); - } - mLifecycleCallbacks.add(new Pair(cb, recursive)); + mLifecycleCallbacks.add(new Pair<>(cb, recursive)); } public void unregisterFragmentLifecycleCallbacks(FragmentLifecycleCallbacks cb) { - if (mLifecycleCallbacks == null) { - return; - } - synchronized (mLifecycleCallbacks) { for (int i = 0, N = mLifecycleCallbacks.size(); i < N; i++) { if (mLifecycleCallbacks.get(i).first == cb) { @@ -3218,9 +3212,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentPreAttached(f, context, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentPreAttached(this, f, context); @@ -3236,9 +3227,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentAttached(f, context, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentAttached(this, f, context); @@ -3255,9 +3243,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentPreCreated(f, savedInstanceState, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentPreCreated(this, f, savedInstanceState); @@ -3273,9 +3258,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentCreated(f, savedInstanceState, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentCreated(this, f, savedInstanceState); @@ -3292,9 +3274,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentActivityCreated(f, savedInstanceState, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentActivityCreated(this, f, savedInstanceState); @@ -3311,9 +3290,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentViewCreated(f, v, savedInstanceState, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentViewCreated(this, f, v, savedInstanceState); @@ -3329,9 +3305,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentStarted(f, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentStarted(this, f); @@ -3347,9 +3320,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentResumed(f, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentResumed(this, f); @@ -3365,9 +3335,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentPaused(f, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentPaused(this, f); @@ -3383,9 +3350,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentStopped(f, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentStopped(this, f); @@ -3401,9 +3365,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentSaveInstanceState(f, outState, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentSaveInstanceState(this, f, outState); @@ -3419,9 +3380,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentViewDestroyed(f, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentViewDestroyed(this, f); @@ -3437,9 +3395,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentDestroyed(f, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentDestroyed(this, f); @@ -3455,9 +3410,6 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate .dispatchOnFragmentDetached(f, true); } } - if (mLifecycleCallbacks == null) { - return; - } for (Pair p : mLifecycleCallbacks) { if (!onlyRecursive || p.second) { p.first.onFragmentDetached(this, f);