From bef683e53b6e48fa59164e4ff62c33fc2cce9830 Mon Sep 17 00:00:00 2001 From: Dylan Roeh Date: Fri, 30 Jun 2017 10:33:59 -0700 Subject: [PATCH] Bug 1377320 - Add prompts support to PWAs. r=jchen --- .../mozilla/gecko/webapps/WebAppActivity.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java b/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java index 5a67423ba09e..ee6af5478de0 100644 --- a/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java +++ b/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java @@ -31,6 +31,7 @@ import android.widget.TextView; import org.json.JSONObject; import org.json.JSONException; +import org.mozilla.gecko.ActivityHandlerHelper; import org.mozilla.gecko.AppConstants; import org.mozilla.gecko.EventDispatcher; import org.mozilla.gecko.GeckoAppShell; @@ -42,6 +43,7 @@ import org.mozilla.gecko.TelemetryContract; import org.mozilla.gecko.icons.decoders.FaviconDecoder; import org.mozilla.gecko.icons.decoders.LoadFaviconResult; import org.mozilla.gecko.mozglue.SafeIntent; +import org.mozilla.gecko.prompts.PromptService; import org.mozilla.gecko.R; import org.mozilla.gecko.Tab; import org.mozilla.gecko.Tabs; @@ -63,6 +65,7 @@ public class WebAppActivity extends AppCompatActivity private TextView mUrlView; private GeckoView mGeckoView; + private PromptService mPromptService; private Uri mScope; @@ -101,6 +104,8 @@ public class WebAppActivity extends AppCompatActivity mGeckoView.setNavigationListener(this); + mPromptService = new PromptService(this, mGeckoView.getEventDispatcher()); + final GeckoViewSettings settings = mGeckoView.getSettings(); settings.setBoolean(GeckoViewSettings.USE_MULTIPROCESS, false); @@ -112,6 +117,19 @@ public class WebAppActivity extends AppCompatActivity loadManifest(getIntent().getStringExtra(MANIFEST_PATH)); } + @Override + public void onDestroy() { + mPromptService.destroy(); + super.onDestroy(); + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + if (!ActivityHandlerHelper.handleActivityResult(requestCode, resultCode, data)) { + super.onActivityResult(requestCode, resultCode, data); + } + } + @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState);