Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
| index d0bca3b432841078a8fbf9b2e134d8d3868257ac..c55eee825bff866ddf8f9e057fcb78d6dc573f69 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
| @@ -9,6 +9,7 @@ import android.annotation.TargetApi; |
| import android.app.Activity; |
| import android.app.SearchManager; |
| import android.app.assist.AssistContent; |
| +import android.content.ActivityNotFoundException; |
| import android.content.Context; |
| import android.content.Intent; |
| import android.content.res.Configuration; |
| @@ -44,6 +45,7 @@ import org.chromium.base.ApplicationStatus; |
| import org.chromium.base.BaseSwitches; |
| import org.chromium.base.Callback; |
| import org.chromium.base.CommandLine; |
| +import org.chromium.base.ContextUtils; |
| import org.chromium.base.SysUtils; |
| import org.chromium.base.TraceEvent; |
| import org.chromium.base.VisibleForTesting; |
| @@ -148,6 +150,8 @@ import org.chromium.ui.base.ActivityWindowAndroid; |
| import org.chromium.ui.base.DeviceFormFactor; |
| import org.chromium.ui.base.PageTransition; |
| import org.chromium.ui.base.WindowAndroid; |
| +import org.chromium.ui.widget.Toast; |
| +import org.chromium.webapk.lib.client.WebApkValidator; |
| import java.util.ArrayList; |
| import java.util.List; |
| @@ -1766,6 +1770,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
| new AddToHomescreenManager(this, currentTab); |
| addToHomescreenManager.start(); |
| RecordUserAction.record("MobileMenuAddToHomescreen"); |
| + } else if (id == R.id.open_webapk_id) { |
| + Context context = ContextUtils.getApplicationContext(); |
| + String packageName = WebApkValidator.queryWebApkPackage(context, currentTab.getUrl()); |
| + Intent launchIntent = |
| + context.getPackageManager().getLaunchIntentForPackage(packageName); |
| + boolean launchFailed = false; |
| + if (launchIntent != null) { |
| + try { |
| + context.startActivity(launchIntent); |
| + RecordUserAction.record("MobileMenuOpenWebAPK"); |
| + } catch (ActivityNotFoundException e) { |
| + launchFailed = true; |
|
dominickn
2017/02/23 05:53:55
Can you add another metric here to record the fail
gonzalon
2017/02/23 16:49:57
I added the actions. I'm unsure if the way I did i
|
| + } |
| + } else { |
| + launchFailed = true; |
| + } |
| + if (launchFailed) { |
| + Toast.makeText(context, R.string.open_webapk_failed, Toast.LENGTH_SHORT).show(); |
| + } |
| } else if (id == R.id.request_desktop_site_id) { |
| final boolean reloadOnChange = !currentTab.isNativePage(); |
| final boolean usingDesktopUserAgent = currentTab.getUseDesktopUserAgent(); |