public LongPressMenuListAdapter(HNPost post, int position) { pos = position; mPost = post; mIsLoggedIn = Settings.isUserLoggedIn(MainActivity.this); mUpVotingEnabled = !mIsLoggedIn || (mPost.getUpvoteURL(Settings.getUserName(MainActivity.this)) != null && !mUpvotedPosts.contains(mPost)); mItems = new ArrayList<CharSequence>(); if (mUpVotingEnabled) mItems.add(getString(R.string.upvote)); else mItems.add(getString(R.string.already_upvoted)); mItems.addAll( Arrays.asList( getString(R.string.pref_htmlprovider_original_url), getString(R.string.pref_htmlprovider_viewtext), getString(R.string.pref_htmlprovider_google), getString(R.string.pref_htmlprovider_instapaper), getString(R.string.external_browser))); }
@Override public void onClick(DialogInterface dialog, int item) { switch (item) { case 0: if (!mIsLoggedIn) Toast.makeText(MainActivity.this, R.string.please_log_in, Toast.LENGTH_LONG).show(); else if (mUpVotingEnabled) vote(mPost.getUpvoteURL(Settings.getUserName(MainActivity.this)), mPost); break; case 1: case 2: case 3: case 4: openPostInApp(pos, mPost, getItem(item).toString(), MainActivity.this); break; case 5: openURLInBrowser(getArticleViewURL(mPost), MainActivity.this); break; default: break; } }