Commit 8906fe97 authored by Pavel Yatsuk's avatar Pavel Yatsuk Committed by Commit Bot

Adjust "Add to my apps" context menu on NTP

In this change:
- Only show "Add to my apps" for items that support it.
- Add "Add to my apps" menu item for site suggestions.

R=wylieb@chromium.org
BUG=963655,959317

Change-Id: If101cf8ea892852e4c68db5f3974515174a690f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1618051Reviewed-by: default avatarBrandon Wylie <wylieb@chromium.org>
Commit-Queue: Pavel Yatsuk <pavely@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661055}
parent 0d779c08
......@@ -13,6 +13,7 @@ import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.R
import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.SHOULD_FOCUS_VIEW;
import static org.chromium.chrome.browser.touchless.SiteSuggestionsCoordinator.SUGGESTIONS_KEY;
import android.graphics.Bitmap;
import android.support.annotation.IntDef;
import android.support.annotation.Nullable;
import android.support.graphics.drawable.VectorDrawableCompat;
......@@ -56,7 +57,7 @@ class SiteSuggestionsAdapter extends ForwardingListObservable<PropertyKey>
}
private class SiteSuggestionInteractionDelegate
implements ContextMenuManager.Delegate, View.OnCreateContextMenuListener {
implements TouchlessContextMenuManager.Delegate, View.OnCreateContextMenuListener {
private PropertyModel mSuggestion;
SiteSuggestionInteractionDelegate(PropertyModel model) {
......@@ -95,11 +96,22 @@ class SiteSuggestionsAdapter extends ForwardingListObservable<PropertyKey>
@Override
public boolean isItemSupported(int menuItemId) {
return menuItemId == ContextMenuManager.ContextMenuItemId.REMOVE;
return menuItemId == ContextMenuManager.ContextMenuItemId.REMOVE
|| menuItemId == ContextMenuManager.ContextMenuItemId.ADD_TO_MY_APPS;
}
@Override
public void onContextMenuCreated() {}
@Override
public String getTitle() {
return mSuggestion.get(SiteSuggestionModel.TITLE_KEY);
}
@Override
public Bitmap getIconBitmap() {
return mSuggestion.get(SiteSuggestionModel.ICON_KEY);
}
}
private PropertyModel mModel;
......
......@@ -126,7 +126,11 @@ public class TouchlessContextMenuManager extends ContextMenuManager {
case ContextMenuItemId.OPEN_IN_NEW_WINDOW:
return false;
case ContextMenuItemId.ADD_TO_MY_APPS:
return delegate.isItemSupported(itemId);
if (delegate instanceof Delegate) {
return delegate.isItemSupported(itemId);
} else {
return false;
}
}
assert false : "Encountered unexpected touchless context menu item type";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment