mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Merge pull request #520 from manderson23/master
Android: Add save/unsave to story context menu
This commit is contained in:
commit
fbd8659eed
2 changed files with 27 additions and 5 deletions
|
@ -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>
|
||||
|
|
|
@ -3,13 +3,13 @@ package com.newsblur.fragment;
|
|||
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;
|
||||
|
@ -27,6 +27,7 @@ import com.newsblur.R;
|
|||
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;
|
||||
|
@ -118,21 +119,28 @@ public abstract class ItemListFragment extends Fragment implements OnScrollListe
|
|||
} 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;
|
||||
|
||||
|
@ -144,12 +152,20 @@ public abstract class ItemListFragment extends Fragment implements OnScrollListe
|
|||
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:
|
||||
|
|
Loading…
Add table
Reference in a new issue