4747import org .wordpress .android .editor .EditorThemeUpdateListener ;
4848import org .wordpress .android .editor .LiveTextWatcher ;
4949import org .wordpress .android .editor .R ;
50+ import org .wordpress .android .editor .SavedInstanceDatabase ;
5051import org .wordpress .android .editor .WPGutenbergWebViewActivity ;
5152import org .wordpress .android .editor .gutenberg .GutenbergDialogFragment .GutenbergDialogNegativeClickInterface ;
5253import org .wordpress .android .editor .gutenberg .GutenbergDialogFragment .GutenbergDialogPositiveClickInterface ;
@@ -161,7 +162,8 @@ public class GutenbergEditorFragment extends EditorFragmentAbstract implements
161162
162163 private ProgressDialog mSavingContentProgressDialog ;
163164
164- public static GutenbergEditorFragment newInstance (String title ,
165+ public static GutenbergEditorFragment newInstance (Context context ,
166+ String title ,
165167 String content ,
166168 boolean isNewPost ,
167169 GutenbergWebViewAuthorizationData webViewAuthorizationData ,
@@ -173,11 +175,14 @@ public static GutenbergEditorFragment newInstance(String title,
173175 args .putString (ARG_PARAM_TITLE , title );
174176 args .putString (ARG_PARAM_CONTENT , content );
175177 args .putBoolean (ARG_IS_NEW_POST , isNewPost );
176- args .putParcelable (ARG_GUTENBERG_WEB_VIEW_AUTH_DATA , webViewAuthorizationData );
177- args .putParcelable (ARG_GUTENBERG_PROPS_BUILDER , gutenbergPropsBuilder );
178178 args .putInt (ARG_STORY_EDITOR_REQUEST_CODE , storyBlockEditRequestCode );
179179 args .putBoolean (ARG_JETPACK_FEATURES_ENABLED , jetpackFeaturesEnabled );
180180 fragment .setArguments (args );
181+ SavedInstanceDatabase db = SavedInstanceDatabase .Companion .getDatabase (context );
182+ if (db != null ) {
183+ db .addParcel (ARG_GUTENBERG_WEB_VIEW_AUTH_DATA , webViewAuthorizationData );
184+ db .addParcel (ARG_GUTENBERG_PROPS_BUILDER , gutenbergPropsBuilder );
185+ }
181186 return fragment ;
182187 }
183188
@@ -199,12 +204,17 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
199204 super .onCreate (savedInstanceState );
200205
201206 if (getGutenbergContainerFragment () == null ) {
202- GutenbergPropsBuilder gutenbergPropsBuilder = getArguments ().getParcelable (ARG_GUTENBERG_PROPS_BUILDER );
207+ GutenbergPropsBuilder gutenbergPropsBuilder = null ;
208+ SavedInstanceDatabase db = SavedInstanceDatabase .Companion .getDatabase (getContext ());
209+ if (db != null ) {
210+ gutenbergPropsBuilder = db .getParcel (ARG_GUTENBERG_PROPS_BUILDER , GutenbergPropsBuilder .CREATOR );
211+ }
203212 mCurrentGutenbergPropsBuilder = gutenbergPropsBuilder ;
204213
205214 FragmentManager fragmentManager = getChildFragmentManager ();
206215 FragmentTransaction fragmentTransaction = fragmentManager .beginTransaction ();
207- GutenbergContainerFragment fragment = GutenbergContainerFragment .newInstance (gutenbergPropsBuilder );
216+ GutenbergContainerFragment fragment =
217+ GutenbergContainerFragment .newInstance (requireContext (), gutenbergPropsBuilder );
208218 fragment .setRetainInstance (true );
209219 fragmentTransaction .add (fragment , GutenbergContainerFragment .TAG );
210220 fragmentTransaction .commitNow ();
@@ -645,9 +655,16 @@ private void initializeSavingProgressDialog() {
645655 }
646656 }
647657
658+ private GutenbergWebViewAuthorizationData getGutenbergWebViewAuthorizationData () {
659+ SavedInstanceDatabase db = SavedInstanceDatabase .Companion .getDatabase (getContext ());
660+ if (db != null ) {
661+ return db .getParcel (ARG_GUTENBERG_WEB_VIEW_AUTH_DATA , GutenbergWebViewAuthorizationData .CREATOR );
662+ }
663+ return null ;
664+ }
665+
648666 private void openGutenbergWebViewActivity (String content , String blockId , String blockName , String blockTitle ) {
649- GutenbergWebViewAuthorizationData gutenbergWebViewAuthData =
650- getArguments ().getParcelable (ARG_GUTENBERG_WEB_VIEW_AUTH_DATA );
667+ GutenbergWebViewAuthorizationData gutenbergWebViewAuthData = getGutenbergWebViewAuthorizationData ();
651668
652669 // There is a chance that isJetpackSsoEnabled has changed on the server
653670 // so we need to make sure that we have fresh value of it.
@@ -727,8 +744,8 @@ private ArrayList<MediaOption> initOtherMediaImageOptions() {
727744 }
728745
729746 boolean jetpackFeaturesEnabled = arguments .getBoolean (ARG_JETPACK_FEATURES_ENABLED );
730- GutenbergWebViewAuthorizationData gutenbergWebViewAuthorizationData =
731- arguments . getParcelable ( ARG_GUTENBERG_WEB_VIEW_AUTH_DATA );
747+ GutenbergWebViewAuthorizationData gutenbergWebViewAuthorizationData = getGutenbergWebViewAuthorizationData ();
748+
732749 boolean supportStockPhotos = gutenbergWebViewAuthorizationData .isSiteUsingWPComRestAPI ()
733750 && jetpackFeaturesEnabled ;
734751 boolean supportsTenor = jetpackFeaturesEnabled ;
0 commit comments