Skip to content

Commit

Permalink
Merge pull request #520 from manderson23/master
Browse files Browse the repository at this point in the history
Android: Add save/unsave to story context menu
  • Loading branch information
dosiecki committed Apr 16, 2014
2 parents a4f7b23 + 1fc7674 commit fbd8659
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 5 deletions.
6 changes: 6 additions & 0 deletions clients/android/NewsBlur/res/menu/context_story.xml
Expand Up @@ -13,4 +13,10 @@
<item android:id="@+id/menu_mark_story_as_unread"
android:title="@string/menu_mark_unread" />

<item android:id="@+id/menu_save_story"
android:title="@string/menu_save_story" />

<item android:id="@+id/menu_unsave_story"
android:title="@string/menu_unsave_story" />

</menu>
Expand Up @@ -3,13 +3,13 @@
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.database.Cursor;
import android.app.Fragment;
import android.content.Loader;
import android.util.Log;
import android.view.ContextMenu;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
Expand All @@ -27,6 +27,7 @@
import com.newsblur.activity.ItemsList;
import com.newsblur.database.StoryItemsAdapter;
import com.newsblur.domain.Story;
import com.newsblur.network.APIManager;
import com.newsblur.util.DefaultFeedView;
import com.newsblur.util.FeedUtils;
import com.newsblur.util.StoryOrder;
Expand Down Expand Up @@ -118,21 +119,28 @@ public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuIn
} else {
menu.removeItem(R.id.menu_mark_story_as_unread);
}

if (story.starred) {
menu.removeItem(R.id.menu_save_story);
} else {
menu.removeItem(R.id.menu_unsave_story);
}
}

@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
Story story = adapter.getStory(menuInfo.position);
Activity activity = getActivity();

switch (item.getItemId()) {
case R.id.menu_mark_story_as_read:
FeedUtils.markStoryAsRead(story, getActivity());
FeedUtils.markStoryAsRead(story, activity);
hasUpdated();
return true;

case R.id.menu_mark_story_as_unread:
FeedUtils.markStoryUnread(story, getActivity());
FeedUtils.markStoryUnread(story, activity);
hasUpdated();
return true;

Expand All @@ -144,12 +152,20 @@ public boolean onContextItemSelected(MenuItem item) {
storiesToMarkAsRead.add(s);
}
}
FeedUtils.markStoriesAsRead(storiesToMarkAsRead, getActivity());
FeedUtils.markStoriesAsRead(storiesToMarkAsRead, activity);
hasUpdated();
return true;

case R.id.menu_shared:
FeedUtils.shareStory(story, getActivity());
FeedUtils.shareStory(story, activity);
return true;

case R.id.menu_save_story:
FeedUtils.saveStory(story, activity, new APIManager(activity), null);
return true;

case R.id.menu_unsave_story:
FeedUtils.unsaveStory(story, activity, new APIManager(activity), null);
return true;

default:
Expand Down

0 comments on commit fbd8659

Please sign in to comment.