mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
Migrate classifier loading in Reading off of legacy DB.
This commit is contained in:
parent
3a6557590e
commit
460f0ad9fa
8 changed files with 18 additions and 55 deletions
|
@ -1,17 +1,9 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.content.CursorLoader;
|
||||
import android.content.Loader;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MixedFeedsReadingAdapter;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
|
||||
public class AllSharedStoriesReading extends Reading {
|
||||
|
||||
|
@ -22,7 +14,7 @@ public class AllSharedStoriesReading extends Reading {
|
|||
setTitle(getResources().getString(R.string.all_shared_stories));
|
||||
|
||||
// No sourceUserId since this is all shared stories. The sourceUsedId for each story will be used.
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), getContentResolver(), defaultFeedView, null);
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), defaultFeedView, null);
|
||||
|
||||
getLoaderManager().initLoader(0, null, this);
|
||||
}
|
||||
|
|
|
@ -1,17 +1,9 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.content.CursorLoader;
|
||||
import android.content.Loader;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MixedFeedsReadingAdapter;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
|
||||
public class AllStoriesReading extends Reading {
|
||||
|
||||
|
@ -20,7 +12,7 @@ public class AllStoriesReading extends Reading {
|
|||
super.onCreate(savedInstanceBundle);
|
||||
|
||||
setTitle(getResources().getString(R.string.all_stories_row_title));
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), getContentResolver(), defaultFeedView, null);
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), defaultFeedView, null);
|
||||
getLoaderManager().initLoader(0, null, this);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.content.CursorLoader;
|
||||
import android.content.Loader;
|
||||
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MixedFeedsReadingAdapter;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
|
||||
public class FolderReading extends Reading {
|
||||
|
||||
|
@ -21,7 +15,7 @@ public class FolderReading extends Reading {
|
|||
folderName = getIntent().getStringExtra(Reading.EXTRA_FOLDERNAME);
|
||||
setTitle(folderName);
|
||||
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), getContentResolver(), defaultFeedView, null);
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), defaultFeedView, null);
|
||||
|
||||
getLoaderManager().initLoader(0, null, this);
|
||||
}
|
||||
|
|
|
@ -2,14 +2,11 @@ package com.newsblur.activity;
|
|||
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.content.CursorLoader;
|
||||
import android.content.Loader;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MixedFeedsReadingAdapter;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
|
||||
public class SavedStoriesReading extends Reading {
|
||||
|
||||
|
@ -18,7 +15,7 @@ public class SavedStoriesReading extends Reading {
|
|||
super.onCreate(savedInstanceBundle);
|
||||
|
||||
setTitle(getResources().getString(R.string.saved_stories_title));
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), getContentResolver(), defaultFeedView, null);
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), defaultFeedView, null);
|
||||
|
||||
getLoaderManager().initLoader(0, null, this);
|
||||
}
|
||||
|
|
|
@ -1,16 +1,8 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.content.CursorLoader;
|
||||
import android.content.Loader;
|
||||
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MixedFeedsReadingAdapter;
|
||||
import com.newsblur.domain.SocialFeed;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
|
||||
public class SocialFeedReading extends Reading {
|
||||
|
||||
|
@ -26,7 +18,7 @@ public class SocialFeedReading extends Reading {
|
|||
|
||||
setTitle(getIntent().getStringExtra(EXTRA_USERNAME));
|
||||
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), getContentResolver(), defaultFeedView, userId);
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), defaultFeedView, userId);
|
||||
|
||||
getLoaderManager().initLoader(0, null, this);
|
||||
}
|
||||
|
|
|
@ -670,6 +670,14 @@ public class BlurDatabaseHelper {
|
|||
bulkInsertValues(DatabaseConstants.CLASSIFIER_TABLE, classifier.getContentValues());
|
||||
}
|
||||
|
||||
public Classifier getClassifierForFeed(String feedId) {
|
||||
String[] selArgs = new String[] {feedId};
|
||||
Cursor c = dbRO.query(DatabaseConstants.CLASSIFIER_TABLE, null, DatabaseConstants.CLASSIFIER_ID + " = ?", selArgs, null, null, null);
|
||||
Classifier classifier = Classifier.fromCursor(c);
|
||||
closeQuietly(c);
|
||||
return classifier;
|
||||
}
|
||||
|
||||
public static void closeQuietly(Cursor c) {
|
||||
if (c == null) return;
|
||||
try {c.close();} catch (Exception e) {;}
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
package com.newsblur.database;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.app.Fragment;
|
||||
import android.app.FragmentManager;
|
||||
|
||||
|
@ -11,14 +8,12 @@ import com.newsblur.domain.Classifier;
|
|||
import com.newsblur.domain.Story;
|
||||
import com.newsblur.fragment.ReadingItemFragment;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
|
||||
public class MixedFeedsReadingAdapter extends ReadingAdapter {
|
||||
|
||||
private final ContentResolver resolver;
|
||||
|
||||
public MixedFeedsReadingAdapter(final FragmentManager fragmentManager, final ContentResolver resolver, DefaultFeedView defaultFeedView, String sourceUserId) {
|
||||
public MixedFeedsReadingAdapter(FragmentManager fragmentManager, DefaultFeedView defaultFeedView, String sourceUserId) {
|
||||
super(fragmentManager, defaultFeedView, sourceUserId);
|
||||
this.resolver = resolver;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -30,9 +25,9 @@ public class MixedFeedsReadingAdapter extends ReadingAdapter {
|
|||
String feedFaviconText = stories.getString(stories.getColumnIndex(DatabaseConstants.FEED_FAVICON_TEXT));
|
||||
String feedFaviconUrl = stories.getString(stories.getColumnIndex(DatabaseConstants.FEED_FAVICON_URL));
|
||||
|
||||
Uri classifierUri = FeedProvider.CLASSIFIER_URI.buildUpon().appendPath(story.feedId).build();
|
||||
Cursor feedClassifierCursor = resolver.query(classifierUri, null, null, null, null);
|
||||
Classifier classifier = Classifier.fromCursor(feedClassifierCursor);
|
||||
// TODO: does the pager generate new fragments in the UI thread? If so, classifiers should
|
||||
// be loaded async by the fragment itself
|
||||
Classifier classifier = FeedUtils.dbHelper.getClassifierForFeed(story.feedId);
|
||||
|
||||
return ReadingItemFragment.newInstance(story, feedTitle, feedFaviconColor, feedFaviconFade, feedFaviconBorder, feedFaviconText, feedFaviconUrl, classifier, true, defaultFeedView, sourceUserId);
|
||||
}
|
||||
|
|
|
@ -8,12 +8,8 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import android.content.ContentProviderOperation;
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
|
@ -23,13 +19,10 @@ import android.widget.Toast;
|
|||
import com.newsblur.R;
|
||||
import com.newsblur.activity.NbActivity;
|
||||
import com.newsblur.database.BlurDatabaseHelper;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.FeedProvider;
|
||||
import com.newsblur.domain.Classifier;
|
||||
import com.newsblur.domain.Feed;
|
||||
import com.newsblur.domain.SocialFeed;
|
||||
import com.newsblur.domain.Story;
|
||||
import com.newsblur.domain.ValueMultimap;
|
||||
import com.newsblur.network.APIManager;
|
||||
import com.newsblur.network.domain.NewsBlurResponse;
|
||||
import com.newsblur.service.NBSyncService;
|
||||
|
|
Loading…
Add table
Reference in a new issue