OSDN Git Service

Fix bug #12993929 Screen orientation change replaces wifi password dialog with Add...
authorFabrice Di Meglio <fdimeglio@google.com>
Fri, 14 Feb 2014 01:02:11 +0000 (17:02 -0800)
committerFabrice Di Meglio <fdimeglio@google.com>
Fri, 14 Feb 2014 01:02:11 +0000 (17:02 -0800)
commit08189afdb02af22991184bddba74d5402ea7720f
tree605f157f7d5c3009782102117aba247dcf40aacd
parent5e1814e2ebf5614f8f4f7edd063e1a79bd929844
Fix bug #12993929 Screen orientation change replaces wifi password dialog with Add network dialog

- do not make inactive the fragment when its transition animation is ending.

Long explanation:

Context: you need to have a first fragment pushed and then a second one replacing
the first one, and then create a DialogFragment on top of it. The FragmentManager
has then three "active" Fragments.

The mActive ArrayList of the FragmentManager is then containing:

mActive[0] = first fragment
mActive[1] = second fragment (parent of the dialog fragment)
mActive[2[ = dialog fragment

Then suppose you are changing the orientation.

During the restoration of the FragmentManager states, you will see that the
first Fragment is marked "inactive" and the mActive ArrayList is looking like:

mActive[0] = dialog fragment
mActive[1] = second fragment

which leads first to have a call to onCreateDialog() for the DialogFragment and
before it can be able to restore its state thru the calls to onCreate() and
onCreateView() for the parent (the second fragment).

Change-Id: I0268bdf13e4bdd07a783c2c82a13b431d0c5c8e4
core/java/android/app/FragmentManager.java