Index: chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/MainActivity.java |
diff --git a/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/MainActivity.java b/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/MainActivity.java |
index 17d438aeed38eb314c28bcc6e21b378e76a382e0..e1cdf50d7284364573ab26d9577a55b799fd1824 100644 |
--- a/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/MainActivity.java |
+++ b/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/MainActivity.java |
@@ -7,9 +7,6 @@ package org.chromium.webapk.shell_apk; |
import android.app.Activity; |
import android.content.ActivityNotFoundException; |
import android.content.Intent; |
-import android.content.pm.ApplicationInfo; |
-import android.content.pm.PackageManager; |
-import android.content.pm.PackageManager.NameNotFoundException; |
import android.net.Uri; |
import android.os.Bundle; |
import android.util.Log; |
@@ -67,11 +64,16 @@ public class MainActivity extends Activity { |
* Launches WebAPK. |
*/ |
private void launch() { |
- String startUrl = getStartUrl(); |
- if (startUrl == null) { |
+ String overrideUrl = getOverrideUrl(); |
+ if (launchHostBrowserInWebApkMode(overrideUrl)) { |
return; |
} |
- if (launchHostBrowserInWebApkMode(startUrl)) { |
+ |
+ String startUrl = overrideUrl; |
+ if (startUrl == null) { |
+ startUrl = getStartUrl(); |
+ } |
+ if (startUrl == null) { |
return; |
} |
if (launchBrowser(startUrl)) { |
@@ -84,8 +86,8 @@ public class MainActivity extends Activity { |
* Launches host browser in WebAPK mode. |
* @return True if successful. |
*/ |
- private boolean launchHostBrowserInWebApkMode(String startUrl) { |
- Log.v(TAG, "Url of the WebAPK: " + startUrl); |
+ private boolean launchHostBrowserInWebApkMode(String overrideUrl) { |
+ Log.v(TAG, "Url of the WebAPK: " + overrideUrl); |
String packageName = getPackageName(); |
Log.v(TAG, "Package name of the WebAPK:" + packageName); |
@@ -94,7 +96,7 @@ public class MainActivity extends Activity { |
Intent intent = new Intent(); |
intent.setAction(ACTION_START_WEBAPK); |
intent.setPackage(runtimeHost); |
- intent.putExtra(WebApkConstants.EXTRA_URL, startUrl) |
+ intent.putExtra(WebApkConstants.EXTRA_URL, overrideUrl) |
.putExtra(WebApkConstants.EXTRA_SOURCE, source) |
.putExtra(WebApkConstants.EXTRA_WEBAPK_PACKAGE_NAME, packageName); |
@@ -155,8 +157,18 @@ public class MainActivity extends Activity { |
} |
} |
+ /** Returns the URL in the data URL */ |
+ private String getOverrideUrl() { |
+ String overrideUrl = getIntent().getDataString(); |
+ if (overrideUrl != null && overrideUrl.startsWith("https:")) { |
+ return overrideUrl; |
+ } |
+ return null; |
+ } |
+ |
/** |
- * Returns the URL that the browser should navigate to. |
+ * Returns the start URL from the Android ManifesReturns the URL that the browser should |
dominickn
2017/03/20 04:00:09
Something went wrong with this comment here. Plus
pkotwicz
2017/03/20 22:58:37
Fixed. Thank you very much for catching this
|
+ * navigate to. |
*/ |
private String getStartUrl() { |
String overrideUrl = getIntent().getDataString(); |
@@ -164,13 +176,6 @@ public class MainActivity extends Activity { |
return overrideUrl; |
} |
- ApplicationInfo appInfo; |
- try { |
- appInfo = getPackageManager().getApplicationInfo( |
- getPackageName(), PackageManager.GET_META_DATA); |
- } catch (NameNotFoundException e) { |
- return null; |
- } |
- return appInfo.metaData.getString(WebApkMetaDataKeys.START_URL); |
+ return getApplicationInfo().metaData.getString(WebApkMetaDataKeys.START_URL); |
} |
} |