Start integrating confirmation into FolderListFragment.

This commit is contained in:
Mark Anderson 2016-01-22 23:02:19 +00:00
parent 95480afa6a
commit f73bef4d11
3 changed files with 21 additions and 5 deletions

View file

@ -36,6 +36,7 @@ import com.newsblur.activity.SocialFeedItemsList;
import com.newsblur.database.FolderListAdapter;
import com.newsblur.domain.Feed;
import com.newsblur.domain.SocialFeed;
import com.newsblur.fragment.MarkAllReadDialogFragment.MarkAllReadDialogListener;
import com.newsblur.util.AppConstants;
import com.newsblur.util.FeedSet;
import com.newsblur.util.FeedUtils;
@ -46,7 +47,8 @@ import com.newsblur.util.StateFilter;
import com.newsblur.util.UIUtils;
public class FolderListFragment extends NbFragment implements OnCreateContextMenuListener,
LoaderManager.LoaderCallbacks<Cursor> {
LoaderManager.LoaderCallbacks<Cursor>,
MarkAllReadDialogListener {
private static final int SOCIALFEEDS_LOADER = 1;
private static final int FOLDERS_LOADER = 2;
@ -252,6 +254,7 @@ public class FolderListFragment extends NbFragment implements OnCreateContextMen
} else {
fs = FeedSet.singleFeed(feedId);
}
markFeedsAsRead(fs);
return true;
} else if (item.getItemId() == R.id.menu_mark_folder_as_read) {
@ -275,12 +278,18 @@ public class FolderListFragment extends NbFragment implements OnCreateContextMen
private void markFeedsAsRead(FeedSet fs) {
MarkAllReadConfirmation confirmation = PrefsUtils.getMarkAllReadConfirmation(getActivity());
if (confirmation.feedSetRequiresConfirmation(fs)) {
// TODO dialog
MarkAllReadDialogFragment dialog = MarkAllReadDialogFragment.newInstance(fs);
dialog.show(getFragmentManager(), "dialog");
} else {
FeedUtils.markFeedsRead(fs, null, null, getActivity());
onMarkAllRead(fs);
}
}
@Override
public void onMarkAllRead(FeedSet feedSet) {
FeedUtils.markFeedsRead(feedSet, null, null, getActivity());
}
public void changeState(StateFilter state) {
currentState = state;
PrefsUtils.setStateFilter(getActivity(), state);

View file

@ -2,6 +2,7 @@ package com.newsblur.fragment;
import com.newsblur.R;
import com.newsblur.util.FeedSet;
import com.newsblur.util.FeedUtils;
import android.app.Activity;
import android.app.AlertDialog;
@ -26,7 +27,7 @@ public class MarkAllReadDialogFragment extends DialogFragment {
fragment.setArguments(args);
return fragment;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
@ -43,8 +44,10 @@ public class MarkAllReadDialogFragment extends DialogFragment {
title = getResources().getString(R.string.all_stories);
} else if (feedSet.isFolder()) {
title = feedSet.getFolderName();
} else if (feedSet.isSingleSocial()) {
title = FeedUtils.getSocialFeed(feedSet.getSingleSocialFeed().getKey()).feedTitle;
} else {
title = feedSet.getSingleFeed();
title = FeedUtils.getFeed(feedSet.getSingleFeed()).title;
}
builder.setTitle(title)

View file

@ -172,6 +172,10 @@ public class FeedSet implements Serializable {
return (((savedFeeds != null) && (savedFeeds.size() < 1)) || ((savedTags != null) && (savedTags.size() < 1)));
}
public boolean isSingleSocial() {
return ((socialFeeds != null) && (socialFeeds.size() == 1));
}
public boolean isGlobalShared() {
return this.isGlobalShared;
}