private void setFavoriteIcon() { Log.d(DEBUG_TAG, "Setting favorite menu icon"); if (FavoritesManager.isFavorite(ResultActivity.this, ResultActivity.symbol)) { menu.getItem(0).setIcon(getResources().getDrawable(android.R.drawable.star_on, getTheme())); } else { menu.getItem(0).setIcon(getResources().getDrawable(android.R.drawable.star_off, getTheme())); } }
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_favorite) { Log.d(DEBUG_TAG, "Favorite toggled"); if (FavoritesManager.isFavorite(ResultActivity.this, ResultActivity.symbol)) { FavoritesManager.removeFavorite(ResultActivity.this, ResultActivity.symbol); } else { FavoritesManager.addFavorite(ResultActivity.this, ResultActivity.symbol); // Toast at 1:23 Toast.makeText( ResultActivity.this, "Bookmarked " + ResultActivity.name + "!!", Toast.LENGTH_SHORT) .show(); } setFavoriteIcon(); return true; } else if (id == R.id.action_facebook) { Log.d(DEBUG_TAG, "Facebook share button clicked"); // Toast at 1:27 Toast.makeText( ResultActivity.this, "Sharing " + ResultActivity.name + "!!", Toast.LENGTH_SHORT) .show(); shareDialog = new ShareDialog(this); shareDialog.registerCallback(callbackManager, shareCallback); if (ShareDialog.canShow(ShareLinkContent.class)) { ShareLinkContent linkContent = new ShareLinkContent.Builder() .setContentTitle( "Current Stock Price of " + ResultActivity.name + " is $" + ResultActivity.lastPrice) .setContentDescription( "Stock Information of " + ResultActivity.name + " (" + ResultActivity.symbol + ")") .setImageUrl( Uri.parse( "https://chart.yahoo.com/t?s=" + ResultActivity.symbol + "&lang=en-US&width=400&height=300")) .setContentUrl(Uri.parse("https://finance.yahoo.com/q?s=" + symbol)) .build(); shareDialog.setShouldFailOnDataError(true); shareDialog.show(linkContent, ShareDialog.Mode.FEED); } return true; } return super.onOptionsItemSelected(item); }