Loading packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java +18 −6 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.Looper; import android.os.Parcelable; import android.os.Trace; import android.util.ArrayMap; import android.util.Log; import android.view.LayoutInflater; import android.view.View; Loading @@ -52,6 +53,8 @@ import javax.inject.Provider; public class FragmentHostManager { private static final String TAG = "FragmentHostManager"; private final Handler mHandler = new Handler(Looper.getMainLooper()); private final Context mContext; private final HashMap<String, ArrayList<FragmentListener>> mListeners = new HashMap<>(); Loading Loading @@ -84,7 +87,7 @@ public class FragmentHostManager { FragmentHostManager create(View rootView); } private void createFragmentHost(Parcelable savedState) { private void createFragmentHost(@Nullable Parcelable savedState) { mFragments = FragmentController.createController(new HostCallbacks()); mFragments.attachHost(null); mLifecycleCallbacks = new FragmentLifecycleCallbacks() { Loading Loading @@ -115,12 +118,21 @@ public class FragmentHostManager { mFragments.dispatchResume(); } @Nullable private Parcelable destroyFragmentHost() { Parcelable p = null; try { mFragments.dispatchPause(); Parcelable p = mFragments.saveAllState(); p = mFragments.saveAllState(); mFragments.dispatchStop(); mFragments.dispatchDestroy(); mFragments.getFragmentManager().unregisterFragmentLifecycleCallbacks(mLifecycleCallbacks); mFragments .getFragmentManager() .unregisterFragmentLifecycleCallbacks(mLifecycleCallbacks); } catch (IllegalStateException e) { Log.e(TAG, "Failed to destroy fragment host. This is expected to happen only in " + "tests when displays are added and removed quickly"); } return p; } Loading packages/SystemUI/src/com/android/systemui/statusbar/events/SystemEventChipAnimationController.kt +5 −1 Original line number Diff line number Diff line Loading @@ -188,7 +188,11 @@ constructor( finish.addListener( object : AnimatorListenerAdapter() { override fun onAnimationEnd(animation: Animator) { animationWindowView.removeView(currentAnimatedView!!.view) if (!::animationWindowView.isInitialized) { return } val animatedView = currentAnimatedView ?: return animationWindowView.removeView(animatedView.view) } } ) Loading packages/SystemUI/src/com/android/systemui/statusbar/layout/StatusBarContentInsetsProvider.kt +2 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import java.io.PrintWriter import java.lang.Math.max import java.util.concurrent.CopyOnWriteArraySet /** * Encapsulates logic that can solve for the left/right insets required for the status bar contents. Loading Loading @@ -163,7 +164,7 @@ constructor( // Limit cache size as potentially we may connect large number of displays // (e.g. network displays) private val insetsCache = LruCache<CacheKey, Rect>(MAX_CACHE_SIZE) private val listeners = mutableSetOf<StatusBarContentInsetsChangedListener>() private val listeners = CopyOnWriteArraySet<StatusBarContentInsetsChangedListener>() private val isPrivacyDotEnabled: Boolean by lazy(LazyThreadSafetyMode.PUBLICATION) { context.resources.getBoolean(R.bool.config_enablePrivacyDot) Loading Loading
packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java +18 −6 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.Looper; import android.os.Parcelable; import android.os.Trace; import android.util.ArrayMap; import android.util.Log; import android.view.LayoutInflater; import android.view.View; Loading @@ -52,6 +53,8 @@ import javax.inject.Provider; public class FragmentHostManager { private static final String TAG = "FragmentHostManager"; private final Handler mHandler = new Handler(Looper.getMainLooper()); private final Context mContext; private final HashMap<String, ArrayList<FragmentListener>> mListeners = new HashMap<>(); Loading Loading @@ -84,7 +87,7 @@ public class FragmentHostManager { FragmentHostManager create(View rootView); } private void createFragmentHost(Parcelable savedState) { private void createFragmentHost(@Nullable Parcelable savedState) { mFragments = FragmentController.createController(new HostCallbacks()); mFragments.attachHost(null); mLifecycleCallbacks = new FragmentLifecycleCallbacks() { Loading Loading @@ -115,12 +118,21 @@ public class FragmentHostManager { mFragments.dispatchResume(); } @Nullable private Parcelable destroyFragmentHost() { Parcelable p = null; try { mFragments.dispatchPause(); Parcelable p = mFragments.saveAllState(); p = mFragments.saveAllState(); mFragments.dispatchStop(); mFragments.dispatchDestroy(); mFragments.getFragmentManager().unregisterFragmentLifecycleCallbacks(mLifecycleCallbacks); mFragments .getFragmentManager() .unregisterFragmentLifecycleCallbacks(mLifecycleCallbacks); } catch (IllegalStateException e) { Log.e(TAG, "Failed to destroy fragment host. This is expected to happen only in " + "tests when displays are added and removed quickly"); } return p; } Loading
packages/SystemUI/src/com/android/systemui/statusbar/events/SystemEventChipAnimationController.kt +5 −1 Original line number Diff line number Diff line Loading @@ -188,7 +188,11 @@ constructor( finish.addListener( object : AnimatorListenerAdapter() { override fun onAnimationEnd(animation: Animator) { animationWindowView.removeView(currentAnimatedView!!.view) if (!::animationWindowView.isInitialized) { return } val animatedView = currentAnimatedView ?: return animationWindowView.removeView(animatedView.view) } } ) Loading
packages/SystemUI/src/com/android/systemui/statusbar/layout/StatusBarContentInsetsProvider.kt +2 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import java.io.PrintWriter import java.lang.Math.max import java.util.concurrent.CopyOnWriteArraySet /** * Encapsulates logic that can solve for the left/right insets required for the status bar contents. Loading Loading @@ -163,7 +164,7 @@ constructor( // Limit cache size as potentially we may connect large number of displays // (e.g. network displays) private val insetsCache = LruCache<CacheKey, Rect>(MAX_CACHE_SIZE) private val listeners = mutableSetOf<StatusBarContentInsetsChangedListener>() private val listeners = CopyOnWriteArraySet<StatusBarContentInsetsChangedListener>() private val isPrivacyDotEnabled: Boolean by lazy(LazyThreadSafetyMode.PUBLICATION) { context.resources.getBoolean(R.bool.config_enablePrivacyDot) Loading