package com.duckduckgo.mobile.android.adapters.menuAdapters; import android.content.Context; import com.duckduckgo.mobile.android.adapters.PageMenuContextAdapter; import com.duckduckgo.mobile.android.objects.FeedObject; import com.duckduckgo.mobile.android.util.menuItems.ReloadMenuItem; import com.duckduckgo.mobile.android.util.menuItems.SaveStoryMenuItem; import com.duckduckgo.mobile.android.util.menuItems.SendToExternalBrowserMenuItem; import com.duckduckgo.mobile.android.util.menuItems.ShareFeedMenuItem; import com.duckduckgo.mobile.android.util.menuItems.TurnReadabilityOffMenuItem; import com.duckduckgo.mobile.android.util.menuItems.TurnReadabilityOnMenuItem; import com.duckduckgo.mobile.android.util.menuItems.UnSaveStoryMenuItem; public class WebViewStoryMenuAdapter extends PageMenuContextAdapter { private Context context; private String url; private Boolean isInReadabilityMode; private Boolean isItemSaved; private FeedObject feedObject; private Boolean hasReadability; public WebViewStoryMenuAdapter(Context context, int resource, int textViewResourceId) { super(context, resource, textViewResourceId); this.context = context; } public WebViewStoryMenuAdapter(Context context, int resource, int textViewResourceId, FeedObject feedObject, Boolean isInReadabilityMode) { this(context, resource, textViewResourceId); this.feedObject = feedObject; this.hasReadability = feedObject.hasPossibleReadability(); this.url = feedObject.getUrl(); this.isItemSaved = feedObject.isSaved(); this.isInReadabilityMode = isInReadabilityMode; addMenuItems(); } public void addMenuItems() { add(new ShareFeedMenuItem(context, feedObject.getTitle(), feedObject.getUrl())); add(new SendToExternalBrowserMenuItem(context, url)); add(new ReloadMenuItem(context)); if(isItemSaved){ add(new UnSaveStoryMenuItem(context, feedObject.getId())); } else{ add(new SaveStoryMenuItem(context, feedObject)); } if(hasReadability) { if(!isInReadabilityMode) add(new TurnReadabilityOnMenuItem(context, feedObject)); else{ add(new TurnReadabilityOffMenuItem(context, feedObject.getUrl())); } } } }