Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1882)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java

Issue 2707993003: [Android]: Hide add-to-homescreen app menu item when WebAPK is installed (Closed)
Patch Set: Add new state for 'Add to Homescreen' Menu item Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..2c726d1aed2b4592f7b759e8a7b4e8b5788bc925 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,8 @@ 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.Log;
import org.chromium.base.SysUtils;
import org.chromium.base.TraceEvent;
import org.chromium.base.VisibleForTesting;
@@ -148,6 +151,7 @@ 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.webapk.lib.client.WebApkValidator;
import java.util.ArrayList;
import java.util.List;
@@ -1766,6 +1770,19 @@ 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);
+ if (launchIntent != null) {
+ try {
+ context.startActivity(launchIntent);
+ RecordUserAction.record("MobileMenuOpenWebAPK");
+ } catch (ActivityNotFoundException e) {
+ Log.e(TAG, "Failed to open app : %s!", packageName, e);
dominickn 2017/02/21 23:04:42 Nit: clarify this to be "open WebAPK". Should the
gonzalon 2017/02/22 15:50:49 Done, adn added the toast.
+ }
+ }
} else if (id == R.id.request_desktop_site_id) {
final boolean reloadOnChange = !currentTab.isNativePage();
final boolean usingDesktopUserAgent = currentTab.getUseDesktopUserAgent();

Powered by Google App Engine
This is Rietveld 408576698