mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-08-31 21:41:33 +00:00
Clean up story sync tracking. Factor out unused methods. Squash bugs.
This commit is contained in:
parent
8467896b4d
commit
c39289f549
19 changed files with 19 additions and 138 deletions
|
@ -83,10 +83,6 @@ public class AllSharedStoriesItemsList extends ItemsList {
|
||||||
@Override
|
@Override
|
||||||
public void markItemListAsRead() { }
|
public void markItemListAsRead() { }
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected StoryOrder getStoryOrder() {
|
protected StoryOrder getStoryOrder() {
|
||||||
return PrefsUtils.getStoryOrderForFolder(this, PrefConstants.ALL_SHARED_STORIES_FOLDER_NAME);
|
return PrefsUtils.getStoryOrderForFolder(this, PrefConstants.ALL_SHARED_STORIES_FOLDER_NAME);
|
||||||
|
|
|
@ -37,11 +37,6 @@ public class AllSharedStoriesReading extends Reading {
|
||||||
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
|
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void triggerRefresh() {
|
|
||||||
triggerRefresh(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void checkStoryCount(int position) {
|
public void checkStoryCount(int position) {
|
||||||
if (position == stories.getCount() - 1 && !stopLoading && !requestingPage) {
|
if (position == stories.getCount() - 1 && !stopLoading && !requestingPage) {
|
||||||
|
@ -76,12 +71,4 @@ public class AllSharedStoriesReading extends Reading {
|
||||||
super.updateAfterSync();
|
super.updateAfterSync();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setNothingMoreToUpdate() {
|
|
||||||
stopLoading = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,10 +114,6 @@ public class AllStoriesItemsList extends ItemsList implements MarkAllReadDialogL
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected StoryOrder getStoryOrder() {
|
protected StoryOrder getStoryOrder() {
|
||||||
return PrefsUtils.getStoryOrderForFolder(this, PrefConstants.ALL_STORIES_FOLDER_NAME);
|
return PrefsUtils.getStoryOrderForFolder(this, PrefConstants.ALL_STORIES_FOLDER_NAME);
|
||||||
|
|
|
@ -38,11 +38,6 @@ public class AllStoriesReading extends Reading {
|
||||||
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
|
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void triggerRefresh() {
|
|
||||||
triggerRefresh(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void checkStoryCount(int position) {
|
public void checkStoryCount(int position) {
|
||||||
if (position == stories.getCount() - 1 && !stopLoading && !requestedPage) {
|
if (position == stories.getCount() - 1 && !stopLoading && !requestedPage) {
|
||||||
|
@ -77,12 +72,4 @@ public class AllStoriesReading extends Reading {
|
||||||
super.updateAfterSync();
|
super.updateAfterSync();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setNothingMoreToUpdate() {
|
|
||||||
stopLoading = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -138,11 +138,6 @@ public class FeedItemsList extends ItemsList {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() {
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected StoryOrder getStoryOrder() {
|
protected StoryOrder getStoryOrder() {
|
||||||
return PrefsUtils.getStoryOrderForFeed(this, feedId);
|
return PrefsUtils.getStoryOrderForFeed(this, feedId);
|
||||||
|
|
|
@ -21,7 +21,6 @@ public class FeedReading extends Reading {
|
||||||
String feedId;
|
String feedId;
|
||||||
private Feed feed;
|
private Feed feed;
|
||||||
private int currentPage;
|
private int currentPage;
|
||||||
private boolean stopLoading = false;
|
|
||||||
private boolean requestedPage = false;
|
private boolean requestedPage = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -76,11 +75,6 @@ public class FeedReading extends Reading {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void triggerRefresh() {
|
|
||||||
triggerRefresh(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void triggerRefresh(int page) {
|
public void triggerRefresh(int page) {
|
||||||
if (!stopLoading) {
|
if (!stopLoading) {
|
||||||
|
@ -98,12 +92,4 @@ public class FeedReading extends Reading {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setNothingMoreToUpdate() {
|
|
||||||
stopLoading = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,10 +106,6 @@ public class FolderItemsList extends ItemsList implements MarkAllReadDialogListe
|
||||||
dialog.show(fragmentManager, "dialog");
|
dialog.show(fragmentManager, "dialog");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected StoryOrder getStoryOrder() {
|
protected StoryOrder getStoryOrder() {
|
||||||
return PrefsUtils.getStoryOrderForFolder(this, folderName);
|
return PrefsUtils.getStoryOrderForFolder(this, folderName);
|
||||||
|
|
|
@ -14,7 +14,7 @@ public class FolderReading extends Reading {
|
||||||
|
|
||||||
private String[] feedIds;
|
private String[] feedIds;
|
||||||
private String folderName;
|
private String folderName;
|
||||||
private boolean stopLoading = false;
|
private boolean stopLoading = false; // will go high iff we are out of pages
|
||||||
private boolean requestedPage;
|
private boolean requestedPage;
|
||||||
private int currentPage;
|
private int currentPage;
|
||||||
|
|
||||||
|
@ -37,11 +37,6 @@ public class FolderReading extends Reading {
|
||||||
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
|
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void triggerRefresh() {
|
|
||||||
triggerRefresh(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void triggerRefresh(int page) {
|
public void triggerRefresh(int page) {
|
||||||
setSupportProgressBarIndeterminateVisibility(true);
|
setSupportProgressBarIndeterminateVisibility(true);
|
||||||
|
@ -74,12 +69,4 @@ public class FolderReading extends Reading {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setNothingMoreToUpdate() {
|
|
||||||
stopLoading = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,8 +181,4 @@ public class Main extends NbFragmentActivity implements StateChangedListener, Sy
|
||||||
@Override
|
@Override
|
||||||
public void setNothingMoreToUpdate() { }
|
public void setNothingMoreToUpdate() { }
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() {
|
|
||||||
updateAfterSync();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,7 @@ public abstract class Reading extends NbFragmentActivity implements OnPageChange
|
||||||
private APIManager apiManager;
|
private APIManager apiManager;
|
||||||
protected SyncUpdateFragment syncFragment;
|
protected SyncUpdateFragment syncFragment;
|
||||||
protected Cursor stories;
|
protected Cursor stories;
|
||||||
|
protected boolean stopLoading = false;
|
||||||
private Set<Story> storiesToMarkAsRead;
|
private Set<Story> storiesToMarkAsRead;
|
||||||
|
|
||||||
// subclasses may set this to a nonzero value to enable the unread count overlay
|
// subclasses may set this to a nonzero value to enable the unread count overlay
|
||||||
|
@ -114,6 +115,10 @@ public abstract class Reading extends NbFragmentActivity implements OnPageChange
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets up the local pager widget. Should be called from onCreate() after both the cursor and
|
||||||
|
* adapter are created.
|
||||||
|
*/
|
||||||
protected void setupPager() {
|
protected void setupPager() {
|
||||||
syncFragment = (SyncUpdateFragment) fragmentManager.findFragmentByTag(SyncUpdateFragment.TAG);
|
syncFragment = (SyncUpdateFragment) fragmentManager.findFragmentByTag(SyncUpdateFragment.TAG);
|
||||||
if (syncFragment == null) {
|
if (syncFragment == null) {
|
||||||
|
@ -128,7 +133,6 @@ public abstract class Reading extends NbFragmentActivity implements OnPageChange
|
||||||
|
|
||||||
pager.setAdapter(readingAdapter);
|
pager.setAdapter(readingAdapter);
|
||||||
pager.setCurrentItem(passedPosition);
|
pager.setCurrentItem(passedPosition);
|
||||||
readingAdapter.setCurrentItem(passedPosition);
|
|
||||||
this.enableOverlays();
|
this.enableOverlays();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,16 +265,25 @@ public abstract class Reading extends NbFragmentActivity implements OnPageChange
|
||||||
setSupportProgressBarIndeterminateVisibility(false);
|
setSupportProgressBarIndeterminateVisibility(false);
|
||||||
stories.requery();
|
stories.requery();
|
||||||
readingAdapter.notifyDataSetChanged();
|
readingAdapter.notifyDataSetChanged();
|
||||||
checkStoryCount(pager.getCurrentItem());
|
|
||||||
this.enableOverlays();
|
this.enableOverlays();
|
||||||
|
checkStoryCount(pager.getCurrentItem());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updatePartialSync() {
|
public void updatePartialSync() {
|
||||||
stories.requery();
|
stories.requery();
|
||||||
readingAdapter.notifyDataSetChanged();
|
readingAdapter.notifyDataSetChanged();
|
||||||
checkStoryCount(pager.getCurrentItem());
|
|
||||||
this.enableOverlays();
|
this.enableOverlays();
|
||||||
|
checkStoryCount(pager.getCurrentItem());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lets us know that there are no more pages of stories to load, ever, and will cause
|
||||||
|
* us to stop requesting them.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setNothingMoreToUpdate() {
|
||||||
|
this.stopLoading = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void checkStoryCount(int position);
|
public abstract void checkStoryCount(int position);
|
||||||
|
@ -280,7 +293,6 @@ public abstract class Reading extends NbFragmentActivity implements OnPageChange
|
||||||
setSupportProgressBarIndeterminateVisibility(syncRunning);
|
setSupportProgressBarIndeterminateVisibility(syncRunning);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void triggerRefresh();
|
|
||||||
public abstract void triggerRefresh(int page);
|
public abstract void triggerRefresh(int page);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -14,9 +14,7 @@ import com.newsblur.fragment.ReadingItemFragment;
|
||||||
public abstract class ReadingAdapter extends FragmentStatePagerAdapter {
|
public abstract class ReadingAdapter extends FragmentStatePagerAdapter {
|
||||||
|
|
||||||
protected Cursor stories;
|
protected Cursor stories;
|
||||||
private String TAG = "ReadingAdapter";
|
|
||||||
protected LoadingFragment loadingFragment;
|
protected LoadingFragment loadingFragment;
|
||||||
private int currentPosition = 0;
|
|
||||||
|
|
||||||
public ReadingAdapter(FragmentManager fm, Cursor stories) {
|
public ReadingAdapter(FragmentManager fm, Cursor stories) {
|
||||||
super(fm);
|
super(fm);
|
||||||
|
@ -26,11 +24,6 @@ public abstract class ReadingAdapter extends FragmentStatePagerAdapter {
|
||||||
@Override
|
@Override
|
||||||
public abstract Fragment getItem(int position);
|
public abstract Fragment getItem(int position);
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setPrimaryItem(ViewGroup container, int position, Object object) {
|
|
||||||
super.setPrimaryItem(container, position, object);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getCount() {
|
public int getCount() {
|
||||||
if (stories != null && stories.getCount() > 0) {
|
if (stories != null && stories.getCount() > 0) {
|
||||||
|
@ -49,10 +42,6 @@ public abstract class ReadingAdapter extends FragmentStatePagerAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTextSize(float textSize) {
|
|
||||||
((ReadingItemFragment) getItem(currentPosition)).changeTextSize(textSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getItemPosition(Object object) {
|
public int getItemPosition(Object object) {
|
||||||
if (object instanceof LoadingFragment) {
|
if (object instanceof LoadingFragment) {
|
||||||
|
@ -62,8 +51,4 @@ public abstract class ReadingAdapter extends FragmentStatePagerAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCurrentItem(int passedPosition) {
|
|
||||||
this.currentPosition = passedPosition;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,9 +86,6 @@ public class SavedStoriesItemsList extends ItemsList {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
// Note: the following four methods are required by our parent spec but are not
|
// Note: the following four methods are required by our parent spec but are not
|
||||||
// relevant since saved stories have no read/unread status nor ordering.
|
// relevant since saved stories have no read/unread status nor ordering.
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ import com.newsblur.service.SyncService;
|
||||||
public class SavedStoriesReading extends Reading {
|
public class SavedStoriesReading extends Reading {
|
||||||
|
|
||||||
private int currentPage;
|
private int currentPage;
|
||||||
private boolean stopLoading = false;
|
|
||||||
private boolean requestedPage = false;
|
private boolean requestedPage = false;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -29,11 +28,6 @@ public class SavedStoriesReading extends Reading {
|
||||||
setupPager();
|
setupPager();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void triggerRefresh() {
|
|
||||||
triggerRefresh(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void checkStoryCount(int position) {
|
public void checkStoryCount(int position) {
|
||||||
if (position == stories.getCount() - 1 && !stopLoading && !requestedPage) {
|
if (position == stories.getCount() - 1 && !stopLoading && !requestedPage) {
|
||||||
|
@ -63,12 +57,4 @@ public class SavedStoriesReading extends Reading {
|
||||||
super.updateAfterSync();
|
super.updateAfterSync();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setNothingMoreToUpdate() {
|
|
||||||
stopLoading = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,10 +98,6 @@ public class SocialFeedItemsList extends ItemsList {
|
||||||
}.execute(userId);
|
}.execute(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected StoryOrder getStoryOrder() {
|
protected StoryOrder getStoryOrder() {
|
||||||
return PrefsUtils.getStoryOrderForFeed(this, userId);
|
return PrefsUtils.getStoryOrderForFeed(this, userId);
|
||||||
|
|
|
@ -22,7 +22,6 @@ public class SocialFeedReading extends Reading {
|
||||||
private String username;
|
private String username;
|
||||||
private SocialFeed socialFeed;
|
private SocialFeed socialFeed;
|
||||||
private boolean requestedPage;
|
private boolean requestedPage;
|
||||||
private boolean stopLoading = false;
|
|
||||||
private int currentPage;
|
private int currentPage;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -50,11 +49,6 @@ public class SocialFeedReading extends Reading {
|
||||||
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
|
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void triggerRefresh() {
|
|
||||||
triggerRefresh(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void triggerRefresh(int page) {
|
public void triggerRefresh(int page) {
|
||||||
setSupportProgressBarIndeterminateVisibility(true);
|
setSupportProgressBarIndeterminateVisibility(true);
|
||||||
|
@ -78,12 +72,4 @@ public class SocialFeedReading extends Reading {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setNothingMoreToUpdate() {
|
|
||||||
stopLoading = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void closeAfterUpdate() { }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,6 +87,7 @@ public class FeedItemListFragment extends StoryItemListFragment implements Loade
|
||||||
// feed list until we have a better understanding of how to prevent this.
|
// feed list until we have a better understanding of how to prevent this.
|
||||||
Log.w(this.getClass().getName(), "Feed not found in DB, can't create item list.");
|
Log.w(this.getClass().getName(), "Feed not found in DB, can't create item list.");
|
||||||
getActivity().finish();
|
getActivity().finish();
|
||||||
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
feedCursor.moveToFirst();
|
feedCursor.moveToFirst();
|
||||||
|
|
|
@ -48,12 +48,6 @@ public class SyncUpdateFragment extends Fragment implements Receiver {
|
||||||
((SyncUpdateFragmentInterface) getActivity()).updatePartialSync();
|
((SyncUpdateFragmentInterface) getActivity()).updatePartialSync();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case STATUS_FINISHED_CLOSE:
|
|
||||||
syncRunning = false;
|
|
||||||
if (getActivity() != null) {
|
|
||||||
((SyncUpdateFragmentInterface) getActivity()).closeAfterUpdate();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case STATUS_RUNNING:
|
case STATUS_RUNNING:
|
||||||
syncRunning = true;
|
syncRunning = true;
|
||||||
break;
|
break;
|
||||||
|
@ -80,7 +74,6 @@ public class SyncUpdateFragment extends Fragment implements Receiver {
|
||||||
public interface SyncUpdateFragmentInterface {
|
public interface SyncUpdateFragmentInterface {
|
||||||
public void updateAfterSync();
|
public void updateAfterSync();
|
||||||
public void updatePartialSync();
|
public void updatePartialSync();
|
||||||
public void closeAfterUpdate();
|
|
||||||
public void setNothingMoreToUpdate();
|
public void setNothingMoreToUpdate();
|
||||||
public void updateSyncStatus(boolean syncRunning);
|
public void updateSyncStatus(boolean syncRunning);
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,6 @@ public class SyncService extends IntentService {
|
||||||
STATUS_RUNNING,
|
STATUS_RUNNING,
|
||||||
STATUS_FINISHED,
|
STATUS_FINISHED,
|
||||||
STATUS_NO_MORE_UPDATES,
|
STATUS_NO_MORE_UPDATES,
|
||||||
STATUS_FINISHED_CLOSE,
|
|
||||||
NOT_RUNNING,
|
NOT_RUNNING,
|
||||||
STATUS_PARTIAL_PROGRESS,
|
STATUS_PARTIAL_PROGRESS,
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,7 +5,7 @@ public class AppConstants {
|
||||||
// Enables high-volume logging that may be useful for debugging. This should
|
// Enables high-volume logging that may be useful for debugging. This should
|
||||||
// never be enabled for releases, as it not only slows down the app considerably,
|
// never be enabled for releases, as it not only slows down the app considerably,
|
||||||
// it will log sensitive info such as passwords!
|
// it will log sensitive info such as passwords!
|
||||||
public static final boolean VERBOSE_LOG = true;
|
public static final boolean VERBOSE_LOG = false;
|
||||||
|
|
||||||
public static final int STATE_ALL = 0;
|
public static final int STATE_ALL = 0;
|
||||||
public static final int STATE_SOME = 1;
|
public static final int STATE_SOME = 1;
|
||||||
|
|
Loading…
Add table
Reference in a new issue