<div dir="ltr"> onActivityCreated() is still called once the view are inflated, so it can make a visual difference. That's the idea.<br><div><br>But yes, creating adapters sooner is definitely safer.</div></div><br><div class="gmail_quote"><div dir="ltr">Le mar. 14 nov. 2017 à 10:56, Romain Vimont <<a href="mailto:rom@rom1v.com">rom@rom1v.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Le mardi 14 novembre 2017 à  8:14 +0000, Geoffrey Métais a écrit :<br>
> The general idea was to offload onCreate(…) in order to have the<br>
> activities/fragments loaded faster.<br>
<br>
All these callbacks are called successively on the UI thread, so<br>
creating the adapter from one or another may not have any impact on<br>
"loading faster".<br>
<br>
The documentation of onActivityCreated() says:<br>
<br>
>  It can be used to do final initialization once these pieces are in<br>
>  place, such as retrieving views or restoring state.<br>
<br>
In my opinion, adapters should be created in onCreate(), so that they<br>
may not be null anywhere in your fragment/activity.<br>
<br>
What do you think?<br>
<br>
> I did not suspect onSaveInstanceState() could be called before<br>
> onActivityCreated(…)…<br>
><br>
> Le lun. 13 nov. 2017 à 21:00, Romain Vimont <<a href="mailto:rom@rom1v.com" target="_blank">rom@rom1v.com</a>> a écrit :<br>
><br>
> ><br>
> ><br>
> > Le lundi 13 novembre 2017 à 18:45 +0100, Geoffrey Métais a écrit :<br>
> > > vlc-android | branch: 2.5.x | Geoffrey Métais <<a href="mailto:geoffrey.metais@gmail.com" target="_blank">geoffrey.metais@gmail.com</a>><br>
> > | Mon Nov 13 18:40:44 2017 +0100|<br>
> > [758c200e10ddac5cbad406d4107b431efcdaa2e6] | committer: Geoffrey Métais<br>
> > ><br>
> > > Prevent NPE in browsers on device rotation<br>
> > ><br>
> > > (cherry picked from commit 45c45adbd5b2b8972fdc28a450333285fa878190)<br>
> > ><br>
> > > ><br>
> > <a href="https://code.videolan.org/videolan/vlc-android/commit/758c200e10ddac5cbad406d4107b431efcdaa2e6" rel="noreferrer" target="_blank">https://code.videolan.org/videolan/vlc-android/commit/758c200e10ddac5cbad406d4107b431efcdaa2e6</a><br>
> > > ---<br>
> > ><br>
> > >  vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.java |<br>
> > 3 ++-<br>
> > >  1 file changed, 2 insertions(+), 1 deletion(-)<br>
> > ><br>
> > > diff --git<br>
> > a/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.java<br>
> > b/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.java<br>
> > > index 2a1695b12..5aee19028 100644<br>
> > > ---<br>
> > a/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.java<br>
> > > +++<br>
> > b/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.java<br>
> > > @@ -245,7 +245,8 @@ public abstract class BaseBrowserFragment extends<br>
> > SortableFragment<BaseBrowserAd<br>
> > >      public void onSaveInstanceState(Bundle outState){<br>
> > >          outState.putString(KEY_MRL, mMrl);<br>
> > >          outState.putParcelable(KEY_MEDIA, mCurrentMedia);<br>
> > > -        VLCApplication.storeData(KEY_MEDIA_LIST+mMrl,<br>
> > mAdapter.getAll());<br>
> > > +        if (mAdapter != null)<br>
> ><br>
> > Why not just initializing mAdapter in onCreate(…)?<br>
> ><br>
> > > +            VLCApplication.storeData(KEY_MEDIA_LIST+mMrl,<br>
> > mAdapter.getAll());<br>
> > >          VLCApplication.storeData(KEY_CONTENT_LIST+mMrl,<br>
> > mFoldersContentLists);<br>
> > >          if (mRecyclerView != null)<br>
> > >              outState.putInt(KEY_POSITION,<br>
> > mLayoutManager.findFirstCompletelyVisibleItemPosition());<br>
> > ><br>
> > > _______________________________________________<br>
> > > Android mailing list<br>
> > > <a href="mailto:Android@videolan.org" target="_blank">Android@videolan.org</a><br>
> > > <a href="https://mailman.videolan.org/listinfo/android" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/android</a><br>
> > _______________________________________________<br>
> > Android mailing list<br>
> > <a href="mailto:Android@videolan.org" target="_blank">Android@videolan.org</a><br>
> > <a href="https://mailman.videolan.org/listinfo/android" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/android</a><br>
> ><br>
<br>
> _______________________________________________<br>
> Android mailing list<br>
> <a href="mailto:Android@videolan.org" target="_blank">Android@videolan.org</a><br>
> <a href="https://mailman.videolan.org/listinfo/android" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/android</a><br>
<br>
_______________________________________________<br>
Android mailing list<br>
<a href="mailto:Android@videolan.org" target="_blank">Android@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/android" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/android</a><br>
</blockquote></div>