Bug 1427239 - Always create FormAssistPopup in WebAppActivity; r?droeh draft
authorJim Chen <nchen@mozilla.com>
Thu, 08 Feb 2018 13:44:54 -0500
changeset 752656 35936d033527c3ec5116f6e484b7f8e72a6ebad7
parent 752655 22a2b0f1b1ab6054de76a92ed4a85d4d09e1514f
push id98333
push userbmo:nchen@mozilla.com
push dateThu, 08 Feb 2018 18:46:09 +0000
reviewersdroeh
bugs1427239
milestone60.0a1
Bug 1427239 - Always create FormAssistPopup in WebAppActivity; r?droeh Right now we create FormAssistPopup in WebAppActivity based on whether the manifest is successfully loaded. We should always create it because we always try to destroy it in onDestroy(). MozReview-Commit-ID: KskEZmYrDS1
mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java
--- a/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java
+++ b/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java
@@ -145,16 +145,19 @@ public class WebAppActivity extends AppC
             }
         });
 
         GeckoAccessibility.setDelegate(mGeckoView);
 
         mPromptService = new PromptService(this, mGeckoView.getEventDispatcher());
         mDoorHangerPopup = new DoorHangerPopup(this, mGeckoView.getEventDispatcher());
 
+        mFormAssistPopup = (FormAssistPopup) findViewById(R.id.pwa_form_assist_popup);
+        mFormAssistPopup.create(mGeckoView);
+
         mTextSelection = TextSelection.Factory.create(mGeckoView, this);
         mTextSelection.create();
 
         final GeckoSessionSettings settings = mGeckoView.getSettings();
         settings.setBoolean(GeckoSessionSettings.USE_MULTIPROCESS, false);
         settings.setBoolean(
             GeckoSessionSettings.USE_REMOTE_DEBUGGER,
             GeckoSharedPrefs.forApp(this).getBoolean(
@@ -167,22 +170,16 @@ public class WebAppActivity extends AppC
             Log.w(LOGTAG, "Cannot retrieve manifest, launching in Firefox:" + e);
             fallbackToFennec(null);
             return;
         }
 
         updateFromManifest();
 
         mGeckoSession.loadUri(mManifest.getStartUri().toString());
-
-        mFormAssistPopup = (FormAssistPopup) findViewById(R.id.pwa_form_assist_popup);
-        mFormAssistPopup.create(mGeckoView);
-
-
-
     }
 
     private void fallbackToFennec(String message) {
         if (message != null) {
             Toast.makeText(this, message, Toast.LENGTH_LONG).show();
         }
 
         try {
@@ -213,19 +210,19 @@ public class WebAppActivity extends AppC
     public void onPause() {
         mGeckoSession.setActive(false);
         super.onPause();
     }
 
     @Override
     public void onDestroy() {
         mTextSelection.destroy();
+        mFormAssistPopup.destroy();
         mDoorHangerPopup.destroy();
         mPromptService.destroy();
-        mFormAssistPopup.destroy();
         super.onDestroy();
     }
 
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (!ActivityHandlerHelper.handleActivityResult(requestCode, resultCode, data)) {
             super.onActivityResult(requestCode, resultCode, data);
         }