Clean up story sync tracking. Factor out unused methods. Squash bugs.

This commit is contained in:
ojiikun 2013-09-13 09:15:36 +00:00
parent 8467896b4d
commit c39289f549
19 changed files with 19 additions and 138 deletions

View file

@ -83,10 +83,6 @@ public class AllSharedStoriesItemsList extends ItemsList {
@Override
public void markItemListAsRead() { }
@Override
public void closeAfterUpdate() { }
@Override
protected StoryOrder getStoryOrder() {
return PrefsUtils.getStoryOrderForFolder(this, PrefConstants.ALL_SHARED_STORIES_FOLDER_NAME);

View file

@ -37,11 +37,6 @@ public class AllSharedStoriesReading extends Reading {
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
}
@Override
public void triggerRefresh() {
triggerRefresh(1);
}
@Override
public void checkStoryCount(int position) {
if (position == stories.getCount() - 1 && !stopLoading && !requestingPage) {
@ -76,12 +71,4 @@ public class AllSharedStoriesReading extends Reading {
super.updateAfterSync();
}
@Override
public void setNothingMoreToUpdate() {
stopLoading = true;
}
@Override
public void closeAfterUpdate() { }
}

View file

@ -114,10 +114,6 @@ public class AllStoriesItemsList extends ItemsList implements MarkAllReadDialogL
return true;
}
@Override
public void closeAfterUpdate() { }
@Override
protected StoryOrder getStoryOrder() {
return PrefsUtils.getStoryOrderForFolder(this, PrefConstants.ALL_STORIES_FOLDER_NAME);

View file

@ -38,11 +38,6 @@ public class AllStoriesReading extends Reading {
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
}
@Override
public void triggerRefresh() {
triggerRefresh(1);
}
@Override
public void checkStoryCount(int position) {
if (position == stories.getCount() - 1 && !stopLoading && !requestedPage) {
@ -77,12 +72,4 @@ public class AllStoriesReading extends Reading {
super.updateAfterSync();
}
@Override
public void setNothingMoreToUpdate() {
stopLoading = true;
}
@Override
public void closeAfterUpdate() { }
}

View file

@ -138,11 +138,6 @@ public class FeedItemsList extends ItemsList {
}
}
@Override
public void closeAfterUpdate() {
finish();
}
@Override
protected StoryOrder getStoryOrder() {
return PrefsUtils.getStoryOrderForFeed(this, feedId);

View file

@ -21,7 +21,6 @@ public class FeedReading extends Reading {
String feedId;
private Feed feed;
private int currentPage;
private boolean stopLoading = false;
private boolean requestedPage = false;
@Override
@ -76,11 +75,6 @@ public class FeedReading extends Reading {
}
}
@Override
public void triggerRefresh() {
triggerRefresh(1);
}
@Override
public void triggerRefresh(int page) {
if (!stopLoading) {
@ -98,12 +92,4 @@ public class FeedReading extends Reading {
}
}
@Override
public void setNothingMoreToUpdate() {
stopLoading = true;
}
@Override
public void closeAfterUpdate() { }
}

View file

@ -106,10 +106,6 @@ public class FolderItemsList extends ItemsList implements MarkAllReadDialogListe
dialog.show(fragmentManager, "dialog");
}
@Override
public void closeAfterUpdate() { }
@Override
protected StoryOrder getStoryOrder() {
return PrefsUtils.getStoryOrderForFolder(this, folderName);

View file

@ -14,7 +14,7 @@ public class FolderReading extends Reading {
private String[] feedIds;
private String folderName;
private boolean stopLoading = false;
private boolean stopLoading = false; // will go high iff we are out of pages
private boolean requestedPage;
private int currentPage;
@ -37,11 +37,6 @@ public class FolderReading extends Reading {
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
}
@Override
public void triggerRefresh() {
triggerRefresh(1);
}
@Override
public void triggerRefresh(int page) {
setSupportProgressBarIndeterminateVisibility(true);
@ -74,12 +69,4 @@ public class FolderReading extends Reading {
}
}
@Override
public void setNothingMoreToUpdate() {
stopLoading = true;
}
@Override
public void closeAfterUpdate() { }
}

View file

@ -181,8 +181,4 @@ public class Main extends NbFragmentActivity implements StateChangedListener, Sy
@Override
public void setNothingMoreToUpdate() { }
@Override
public void closeAfterUpdate() {
updateAfterSync();
}
}

View file

@ -66,6 +66,7 @@ public abstract class Reading extends NbFragmentActivity implements OnPageChange
private APIManager apiManager;
protected SyncUpdateFragment syncFragment;
protected Cursor stories;
protected boolean stopLoading = false;
private Set<Story> storiesToMarkAsRead;
// 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() {
syncFragment = (SyncUpdateFragment) fragmentManager.findFragmentByTag(SyncUpdateFragment.TAG);
if (syncFragment == null) {
@ -128,7 +133,6 @@ public abstract class Reading extends NbFragmentActivity implements OnPageChange
pager.setAdapter(readingAdapter);
pager.setCurrentItem(passedPosition);
readingAdapter.setCurrentItem(passedPosition);
this.enableOverlays();
}
@ -261,16 +265,25 @@ public abstract class Reading extends NbFragmentActivity implements OnPageChange
setSupportProgressBarIndeterminateVisibility(false);
stories.requery();
readingAdapter.notifyDataSetChanged();
checkStoryCount(pager.getCurrentItem());
this.enableOverlays();
checkStoryCount(pager.getCurrentItem());
}
@Override
public void updatePartialSync() {
stories.requery();
readingAdapter.notifyDataSetChanged();
checkStoryCount(pager.getCurrentItem());
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);
@ -280,7 +293,6 @@ public abstract class Reading extends NbFragmentActivity implements OnPageChange
setSupportProgressBarIndeterminateVisibility(syncRunning);
}
public abstract void triggerRefresh();
public abstract void triggerRefresh(int page);
@Override

View file

@ -14,9 +14,7 @@ import com.newsblur.fragment.ReadingItemFragment;
public abstract class ReadingAdapter extends FragmentStatePagerAdapter {
protected Cursor stories;
private String TAG = "ReadingAdapter";
protected LoadingFragment loadingFragment;
private int currentPosition = 0;
public ReadingAdapter(FragmentManager fm, Cursor stories) {
super(fm);
@ -26,11 +24,6 @@ public abstract class ReadingAdapter extends FragmentStatePagerAdapter {
@Override
public abstract Fragment getItem(int position);
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
super.setPrimaryItem(container, position, object);
}
@Override
public int getCount() {
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
public int getItemPosition(Object object) {
if (object instanceof LoadingFragment) {
@ -62,8 +51,4 @@ public abstract class ReadingAdapter extends FragmentStatePagerAdapter {
}
}
public void setCurrentItem(int passedPosition) {
this.currentPosition = passedPosition;
}
}

View file

@ -86,9 +86,6 @@ public class SavedStoriesItemsList extends ItemsList {
return false;
}
@Override
public void closeAfterUpdate() { }
// 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.

View file

@ -13,7 +13,6 @@ import com.newsblur.service.SyncService;
public class SavedStoriesReading extends Reading {
private int currentPage;
private boolean stopLoading = false;
private boolean requestedPage = false;
@Override
@ -29,11 +28,6 @@ public class SavedStoriesReading extends Reading {
setupPager();
}
@Override
public void triggerRefresh() {
triggerRefresh(1);
}
@Override
public void checkStoryCount(int position) {
if (position == stories.getCount() - 1 && !stopLoading && !requestedPage) {
@ -63,12 +57,4 @@ public class SavedStoriesReading extends Reading {
super.updateAfterSync();
}
@Override
public void setNothingMoreToUpdate() {
stopLoading = true;
}
@Override
public void closeAfterUpdate() { }
}

View file

@ -98,10 +98,6 @@ public class SocialFeedItemsList extends ItemsList {
}.execute(userId);
}
@Override
public void closeAfterUpdate() { }
@Override
protected StoryOrder getStoryOrder() {
return PrefsUtils.getStoryOrderForFeed(this, userId);

View file

@ -22,7 +22,6 @@ public class SocialFeedReading extends Reading {
private String username;
private SocialFeed socialFeed;
private boolean requestedPage;
private boolean stopLoading = false;
private int currentPage;
@Override
@ -50,11 +49,6 @@ public class SocialFeedReading extends Reading {
addStoryToMarkAsRead(readingAdapter.getStory(passedPosition));
}
@Override
public void triggerRefresh() {
triggerRefresh(0);
}
@Override
public void triggerRefresh(int page) {
setSupportProgressBarIndeterminateVisibility(true);
@ -78,12 +72,4 @@ public class SocialFeedReading extends Reading {
}
}
@Override
public void setNothingMoreToUpdate() {
stopLoading = true;
}
@Override
public void closeAfterUpdate() { }
}

View file

@ -87,6 +87,7 @@ public class FeedItemListFragment extends StoryItemListFragment implements Loade
// 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.");
getActivity().finish();
return v;
}
feedCursor.moveToFirst();

View file

@ -48,12 +48,6 @@ public class SyncUpdateFragment extends Fragment implements Receiver {
((SyncUpdateFragmentInterface) getActivity()).updatePartialSync();
}
break;
case STATUS_FINISHED_CLOSE:
syncRunning = false;
if (getActivity() != null) {
((SyncUpdateFragmentInterface) getActivity()).closeAfterUpdate();
}
break;
case STATUS_RUNNING:
syncRunning = true;
break;
@ -80,7 +74,6 @@ public class SyncUpdateFragment extends Fragment implements Receiver {
public interface SyncUpdateFragmentInterface {
public void updateAfterSync();
public void updatePartialSync();
public void closeAfterUpdate();
public void setNothingMoreToUpdate();
public void updateSyncStatus(boolean syncRunning);
}

View file

@ -50,7 +50,6 @@ public class SyncService extends IntentService {
STATUS_RUNNING,
STATUS_FINISHED,
STATUS_NO_MORE_UPDATES,
STATUS_FINISHED_CLOSE,
NOT_RUNNING,
STATUS_PARTIAL_PROGRESS,
};

View file

@ -5,7 +5,7 @@ public class AppConstants {
// 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,
// 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_SOME = 1;