mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Merge pull request #795 from dosiecki/master
Android: Beta 2 for Lollipop Compat
This commit is contained in:
commit
b28b49e029
80 changed files with 237 additions and 555 deletions
1
clients/android/NewsBlur/.gitignore
vendored
1
clients/android/NewsBlur/.gitignore
vendored
|
@ -1,4 +1,5 @@
|
|||
build.xml
|
||||
custom_rules.xml
|
||||
local.properties
|
||||
*.java.swo
|
||||
*.java.swp
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.newsblur"
|
||||
android:versionCode="107"
|
||||
android:versionName="4.6.0b1" >
|
||||
android:versionCode="108"
|
||||
android:versionName="4.6.0b2" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="14"
|
||||
|
@ -18,8 +18,8 @@
|
|||
android:icon="@drawable/logo"
|
||||
android:label="@string/newsblur"
|
||||
android:theme="@style/NewsBlurTheme"
|
||||
android:name=".activity.NewsBlurApplication"
|
||||
android:hardwareAccelerated="true" >
|
||||
android:hardwareAccelerated="true"
|
||||
android:fullBackupContent="@xml/backupscheme" >
|
||||
|
||||
<activity
|
||||
android:name=".activity.Login"
|
||||
|
|
BIN
clients/android/NewsBlur/buildtools/checkstyle-6.11.2-all.jar
Normal file
BIN
clients/android/NewsBlur/buildtools/checkstyle-6.11.2-all.jar
Normal file
Binary file not shown.
18
clients/android/NewsBlur/buildtools/checkstyle_rules.xml
Normal file
18
clients/android/NewsBlur/buildtools/checkstyle_rules.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module PUBLIC
|
||||
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
||||
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
|
||||
|
||||
<module name="Checker">
|
||||
<property name="fileExtensions" value="java, properties, xml" />
|
||||
<module name="TreeWalker">
|
||||
<module name="UnusedImports"/>
|
||||
<module name="UpperEll"/>
|
||||
<module name="ArrayTypeStyle"/>
|
||||
<module name="OuterTypeFilename"/>
|
||||
<module name="ArrayTrailingComma"/>
|
||||
<module name="EqualsHashCode"/>
|
||||
<module name="NoFinalizer"/>
|
||||
<module name="HideUtilityClassConstructor"/>
|
||||
</module>
|
||||
</module>
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.2 KiB |
|
@ -3,6 +3,17 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/empty_view_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginTop="40dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/loading"
|
||||
style="?explainerText"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<android.support.v4.view.ViewPager
|
||||
android:id="@+id/reading_pager"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -44,6 +44,11 @@
|
|||
android:entries="@array/default_read_filter_entries"
|
||||
android:entryValues="@array/default_read_filter_values"
|
||||
android:defaultValue="@string/default_read_filter_value" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="pref_auto_open_first_unread"
|
||||
android:title="@string/settings_auto_open_first_unread"
|
||||
android:summary="@string/settings_auto_open_first_unread_sum" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="pref_show_content_preview"
|
||||
|
|
|
@ -2,11 +2,6 @@
|
|||
|
||||
<string name="newsblur">NewsBlur</string>
|
||||
|
||||
<string name="error_unset_message">An unknown error occurred</string>
|
||||
<string name="error_http_connection">There was a problem connecting to NewsBlur</string>
|
||||
<string name="error_read_connection">There was a problem communicating with NewsBlur</string>
|
||||
<string name="error_offline">There was a problem connecting to the network</string>
|
||||
|
||||
<string name="login_username_hint">username</string>
|
||||
<string name="login_password_hint">password</string>
|
||||
<string name="login_registration_email_hint">email address</string>
|
||||
|
@ -222,6 +217,10 @@
|
|||
<item>Mark entire folder read</item>
|
||||
<item>Cancel</item>
|
||||
</string-array>
|
||||
|
||||
<string name="settings_auto_open_first_unread">Auto-Open First Story</string>
|
||||
<string name="settings_auto_open_first_unread_sum">Automatically open first unread story from story list</string>
|
||||
|
||||
<string name="settings_social">Social</string>
|
||||
<string name="settings_show_public_comments">Show Public Comments</string>
|
||||
<string name="settings_reading">Reading</string>
|
||||
|
|
5
clients/android/NewsBlur/res/xml/backupscheme.xml
Normal file
5
clients/android/NewsBlur/res/xml/backupscheme.xml
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<full-backup-content>
|
||||
<include domain="sharedpref" />
|
||||
</full-backup-content>
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.app.FragmentTransaction;
|
||||
import android.view.Menu;
|
||||
|
@ -8,10 +7,8 @@ import android.view.MenuInflater;
|
|||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.fragment.AllSharedStoriesItemListFragment;
|
||||
import com.newsblur.fragment.FeedItemListFragment;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
|
@ -28,7 +25,7 @@ public class AllSharedStoriesItemsList extends ItemsList {
|
|||
|
||||
itemListFragment = (AllSharedStoriesItemListFragment) fragmentManager.findFragmentByTag(AllSharedStoriesItemListFragment.class.getName());
|
||||
if (itemListFragment == null) {
|
||||
itemListFragment = AllSharedStoriesItemListFragment.newInstance(currentState, getDefaultFeedView());
|
||||
itemListFragment = AllSharedStoriesItemListFragment.newInstance();
|
||||
itemListFragment.setRetainInstance(true);
|
||||
FragmentTransaction listTransaction = fragmentManager.beginTransaction();
|
||||
listTransaction.add(R.id.activity_itemlist_container, itemListFragment, AllSharedStoriesItemListFragment.class.getName());
|
||||
|
@ -68,11 +65,6 @@ public class AllSharedStoriesItemsList extends ItemsList {
|
|||
return PrefsUtils.getReadFilterForFolder(this, PrefConstants.ALL_SHARED_STORIES_FOLDER_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DefaultFeedView getDefaultFeedView() {
|
||||
return PrefsUtils.getDefaultFeedViewForFolder(this, PrefConstants.ALL_SHARED_STORIES_FOLDER_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultFeedViewChanged(DefaultFeedView value) {
|
||||
PrefsUtils.setDefaultFeedViewForFolder(this, PrefConstants.ALL_SHARED_STORIES_FOLDER_NAME, value);
|
||||
|
|
|
@ -8,18 +8,14 @@ import android.view.MenuInflater;
|
|||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.fragment.AllStoriesItemListFragment;
|
||||
import com.newsblur.fragment.FeedItemListFragment;
|
||||
import com.newsblur.fragment.MarkAllReadDialogFragment;
|
||||
import com.newsblur.fragment.MarkAllReadDialogFragment.MarkAllReadDialogListener;
|
||||
import com.newsblur.util.AppConstants;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.UIUtils;
|
||||
|
||||
public class AllStoriesItemsList extends ItemsList implements MarkAllReadDialogListener {
|
||||
|
@ -32,7 +28,7 @@ public class AllStoriesItemsList extends ItemsList implements MarkAllReadDialogL
|
|||
|
||||
itemListFragment = (AllStoriesItemListFragment) fragmentManager.findFragmentByTag(AllStoriesItemListFragment.class.getName());
|
||||
if (itemListFragment == null) {
|
||||
itemListFragment = AllStoriesItemListFragment.newInstance(currentState, getDefaultFeedView());
|
||||
itemListFragment = AllStoriesItemListFragment.newInstance();
|
||||
itemListFragment.setRetainInstance(true);
|
||||
FragmentTransaction listTransaction = fragmentManager.beginTransaction();
|
||||
listTransaction.add(R.id.activity_itemlist_container, itemListFragment, AllStoriesItemListFragment.class.getName());
|
||||
|
@ -84,11 +80,6 @@ public class AllStoriesItemsList extends ItemsList implements MarkAllReadDialogL
|
|||
return PrefsUtils.getReadFilterForFolder(this, PrefConstants.ALL_STORIES_FOLDER_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DefaultFeedView getDefaultFeedView() {
|
||||
return PrefsUtils.getDefaultFeedViewForFolder(this, PrefConstants.ALL_STORIES_FOLDER_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultFeedViewChanged(DefaultFeedView value) {
|
||||
PrefsUtils.setDefaultFeedViewForFolder(this, PrefConstants.ALL_STORIES_FOLDER_NAME, value);
|
||||
|
|
|
@ -11,7 +11,6 @@ import com.newsblur.R;
|
|||
import com.newsblur.domain.Feed;
|
||||
import com.newsblur.fragment.DeleteFeedFragment;
|
||||
import com.newsblur.fragment.FeedItemListFragment;
|
||||
import com.newsblur.service.NBSyncService;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
|
@ -37,7 +36,7 @@ public class FeedItemsList extends ItemsList {
|
|||
|
||||
itemListFragment = (FeedItemListFragment) fragmentManager.findFragmentByTag(FeedItemListFragment.class.getName());
|
||||
if (itemListFragment == null) {
|
||||
itemListFragment = FeedItemListFragment.newInstance(feed, currentState, getDefaultFeedView());
|
||||
itemListFragment = FeedItemListFragment.newInstance(feed);
|
||||
itemListFragment.setRetainInstance(true);
|
||||
FragmentTransaction listTransaction = fragmentManager.beginTransaction();
|
||||
listTransaction.add(R.id.activity_itemlist_container, itemListFragment, FeedItemListFragment.class.getName());
|
||||
|
@ -97,11 +96,6 @@ public class FeedItemsList extends ItemsList {
|
|||
return PrefsUtils.getReadFilterForFeed(this, feed.feedId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DefaultFeedView getDefaultFeedView() {
|
||||
return PrefsUtils.getDefaultFeedViewForFeed(this, feed.feedId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultFeedViewChanged(DefaultFeedView value) {
|
||||
PrefsUtils.setDefaultFeedViewForFeed(this, feed.feedId, value);
|
||||
|
|
|
@ -5,19 +5,16 @@ import android.os.Bundle;
|
|||
import com.newsblur.database.FeedReadingAdapter;
|
||||
import com.newsblur.domain.Classifier;
|
||||
import com.newsblur.domain.Feed;
|
||||
import com.newsblur.service.NBSyncService;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.UIUtils;
|
||||
|
||||
public class FeedReading extends Reading {
|
||||
|
||||
Feed feed;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceBundle) {
|
||||
feed = (Feed) getIntent().getSerializableExtra(EXTRA_FEED);
|
||||
super.onCreate(savedInstanceBundle);
|
||||
|
||||
Feed feed = FeedUtils.dbHelper.getFeed(fs.getSingleFeed());
|
||||
Classifier classifier = FeedUtils.dbHelper.getClassifierForFeed(feed.feedId);
|
||||
|
||||
UIUtils.setCustomActionBar(this, feed.faviconUrl, feed.title);
|
||||
|
|
|
@ -4,7 +4,6 @@ import java.util.List;
|
|||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.domain.FeedResult;
|
||||
import com.newsblur.util.UIUtils;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
|
|
|
@ -1,30 +1,20 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.app.FragmentTransaction;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.widget.Toast;
|
||||
import android.util.Log;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.fragment.FolderItemListFragment;
|
||||
import com.newsblur.fragment.MarkAllReadDialogFragment;
|
||||
import com.newsblur.fragment.MarkAllReadDialogFragment.MarkAllReadDialogListener;
|
||||
import com.newsblur.util.AppConstants;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.util.UIUtils;
|
||||
|
||||
|
@ -44,7 +34,7 @@ public class FolderItemsList extends ItemsList implements MarkAllReadDialogListe
|
|||
|
||||
itemListFragment = (FolderItemListFragment) fragmentManager.findFragmentByTag(FolderItemListFragment.class.getName());
|
||||
if (itemListFragment == null) {
|
||||
itemListFragment = FolderItemListFragment.newInstance(folderName, currentState, getDefaultFeedView());
|
||||
itemListFragment = FolderItemListFragment.newInstance();
|
||||
itemListFragment.setRetainInstance(true);
|
||||
FragmentTransaction listTransaction = fragmentManager.beginTransaction();
|
||||
listTransaction.add(R.id.activity_itemlist_container, itemListFragment, FolderItemListFragment.class.getName());
|
||||
|
@ -95,11 +85,6 @@ public class FolderItemsList extends ItemsList implements MarkAllReadDialogListe
|
|||
return PrefsUtils.getReadFilterForFolder(this, folderName);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DefaultFeedView getDefaultFeedView() {
|
||||
return PrefsUtils.getDefaultFeedViewForFolder(this, folderName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultFeedViewChanged(DefaultFeedView value) {
|
||||
PrefsUtils.setDefaultFeedViewForFolder(this, folderName, value);
|
||||
|
|
|
@ -8,14 +8,11 @@ import com.newsblur.util.UIUtils;
|
|||
|
||||
public class FolderReading extends Reading {
|
||||
|
||||
private String folderName;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceBundle) {
|
||||
super.onCreate(savedInstanceBundle);
|
||||
|
||||
folderName = getIntent().getStringExtra(Reading.EXTRA_FOLDERNAME);
|
||||
UIUtils.setCustomActionBar(this, R.drawable.g_icn_folder_rss, folderName);
|
||||
UIUtils.setCustomActionBar(this, R.drawable.g_icn_folder_rss, fs.getFolderName());
|
||||
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), defaultFeedView, null);
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ public class GlobalSharedStoriesItemsList extends ItemsList {
|
|||
|
||||
itemListFragment = (GlobalSharedStoriesItemListFragment) fragmentManager.findFragmentByTag(GlobalSharedStoriesItemListFragment.class.getName());
|
||||
if (itemListFragment == null) {
|
||||
itemListFragment = GlobalSharedStoriesItemListFragment.newInstance(getDefaultFeedView(), currentState);
|
||||
itemListFragment = GlobalSharedStoriesItemListFragment.newInstance();
|
||||
itemListFragment.setRetainInstance(true);
|
||||
FragmentTransaction listTransaction = fragmentManager.beginTransaction();
|
||||
listTransaction.add(R.id.activity_itemlist_container, itemListFragment, GlobalSharedStoriesItemListFragment.class.getName());
|
||||
|
@ -50,11 +50,6 @@ public class GlobalSharedStoriesItemsList extends ItemsList {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DefaultFeedView getDefaultFeedView() {
|
||||
return PrefsUtils.getDefaultFeedViewForFolder(this, PrefConstants.GLOBAL_SHARED_STORIES_FOLDER_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultFeedViewChanged(DefaultFeedView value) {
|
||||
PrefsUtils.setDefaultFeedViewForFolder(this, PrefConstants.GLOBAL_SHARED_STORIES_FOLDER_NAME, value);
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.app.FragmentManager;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.newsblur.R;
|
||||
|
@ -16,21 +13,20 @@ import com.newsblur.fragment.ItemListFragment;
|
|||
import com.newsblur.fragment.ReadFilterDialogFragment;
|
||||
import com.newsblur.fragment.StoryOrderDialogFragment;
|
||||
import com.newsblur.service.NBSyncService;
|
||||
import com.newsblur.util.AppConstants;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.DefaultFeedViewChangedListener;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
import com.newsblur.util.ReadFilterChangedListener;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.util.StoryOrderChangedListener;
|
||||
import com.newsblur.view.StateToggleButton.StateChangedListener;
|
||||
import com.newsblur.util.UIUtils;
|
||||
|
||||
public abstract class ItemsList extends NbActivity implements StateChangedListener, StoryOrderChangedListener, ReadFilterChangedListener, DefaultFeedViewChangedListener {
|
||||
public abstract class ItemsList extends NbActivity implements StoryOrderChangedListener, ReadFilterChangedListener, DefaultFeedViewChangedListener {
|
||||
|
||||
public static final String EXTRA_STATE = "currentIntelligenceState";
|
||||
private static final String STORY_ORDER = "storyOrder";
|
||||
private static final String READ_FILTER = "readFilter";
|
||||
private static final String DEFAULT_FEED_VIEW = "defaultFeedView";
|
||||
|
@ -39,7 +35,7 @@ public abstract class ItemsList extends NbActivity implements StateChangedListen
|
|||
protected ItemListFragment itemListFragment;
|
||||
protected FragmentManager fragmentManager;
|
||||
private TextView overlayStatusText;
|
||||
protected StateFilter currentState;
|
||||
protected StateFilter intelState;
|
||||
|
||||
private FeedSet fs;
|
||||
|
||||
|
@ -49,8 +45,7 @@ public abstract class ItemsList extends NbActivity implements StateChangedListen
|
|||
|
||||
overridePendingTransition(R.anim.slide_in_from_right, R.anim.slide_out_to_left);
|
||||
|
||||
// our intel state is entirely determined by the state of the Main view
|
||||
currentState = (StateFilter) getIntent().getSerializableExtra(EXTRA_STATE);
|
||||
intelState = PrefsUtils.getStateFilter(this);
|
||||
this.fs = createFeedSet();
|
||||
|
||||
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
|
||||
|
@ -59,6 +54,12 @@ public abstract class ItemsList extends NbActivity implements StateChangedListen
|
|||
fragmentManager = getFragmentManager();
|
||||
|
||||
this.overlayStatusText = (TextView) findViewById(R.id.itemlist_sync_status);
|
||||
|
||||
if (PrefsUtils.isAutoOpenFirstUnread(this)) {
|
||||
if (FeedUtils.dbHelper.getUnreadCount(fs, intelState) > 0) {
|
||||
UIUtils.startReadingActivity(fs, Reading.FIND_FIRST_UNREAD, this, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract FeedSet createFeedSet();
|
||||
|
@ -113,7 +114,7 @@ public abstract class ItemsList extends NbActivity implements StateChangedListen
|
|||
readFilter.show(getFragmentManager(), READ_FILTER);
|
||||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_default_view) {
|
||||
DefaultFeedView currentValue = getDefaultFeedView();
|
||||
DefaultFeedView currentValue = PrefsUtils.getDefaultFeedView(this, fs);
|
||||
DefaultFeedViewDialogFragment readFilter = DefaultFeedViewDialogFragment.newInstance(currentValue);
|
||||
readFilter.show(getFragmentManager(), DEFAULT_FEED_VIEW);
|
||||
return true;
|
||||
|
@ -127,8 +128,6 @@ public abstract class ItemsList extends NbActivity implements StateChangedListen
|
|||
|
||||
protected abstract ReadFilter getReadFilter();
|
||||
|
||||
protected abstract DefaultFeedView getDefaultFeedView();
|
||||
|
||||
@Override
|
||||
public void handleUpdate(int updateType) {
|
||||
if ((updateType & UPDATE_REBUILD) != 0) {
|
||||
|
@ -161,11 +160,6 @@ public abstract class ItemsList extends NbActivity implements StateChangedListen
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changedState(StateFilter state) {
|
||||
itemListFragment.changeState(state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void storyOrderChanged(StoryOrder newValue) {
|
||||
updateStoryOrderPreference(newValue);
|
||||
|
|
|
@ -11,39 +11,41 @@ import android.view.Window;
|
|||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.fragment.LoginRegisterFragment;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
|
||||
public class Login extends Activity {
|
||||
|
||||
private FragmentManager fragmentManager;
|
||||
private final static String currentTag = "currentFragment";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
PrefsUtils.applyThemePreference(this);
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
super.onCreate(savedInstanceState);
|
||||
preferenceCheck();
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
setContentView(R.layout.activity_login);
|
||||
fragmentManager = getFragmentManager();
|
||||
|
||||
if (fragmentManager.findFragmentByTag(currentTag) == null) {
|
||||
FragmentTransaction transaction = fragmentManager.beginTransaction();
|
||||
LoginRegisterFragment login = new LoginRegisterFragment();
|
||||
transaction.add(R.id.login_container, login, currentTag);
|
||||
transaction.commit();
|
||||
}
|
||||
}
|
||||
// this is the first Activity launched; use it to init the global singletons in FeedUtils
|
||||
FeedUtils.offerInitContext(this);
|
||||
|
||||
private void preferenceCheck() {
|
||||
final SharedPreferences preferences = getSharedPreferences(PrefConstants.PREFERENCES, Context.MODE_PRIVATE);
|
||||
if (preferences.getString(PrefConstants.PREF_COOKIE, null) != null) {
|
||||
final Intent mainIntent = new Intent(this, Main.class);
|
||||
startActivity(mainIntent);
|
||||
}
|
||||
}
|
||||
|
||||
// see if a user is already logged in; if so, jump to the Main activity
|
||||
preferenceCheck();
|
||||
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
setContentView(R.layout.activity_login);
|
||||
FragmentManager fragmentManager = getFragmentManager();
|
||||
|
||||
if (fragmentManager.findFragmentByTag(LoginRegisterFragment.class.getName()) == null) {
|
||||
FragmentTransaction transaction = fragmentManager.beginTransaction();
|
||||
LoginRegisterFragment login = new LoginRegisterFragment();
|
||||
transaction.add(R.id.login_container, login, LoginRegisterFragment.class.getName());
|
||||
transaction.commit();
|
||||
}
|
||||
}
|
||||
|
||||
private void preferenceCheck() {
|
||||
final SharedPreferences preferences = getSharedPreferences(PrefConstants.PREFERENCES, Context.MODE_PRIVATE);
|
||||
if (preferences.getString(PrefConstants.PREF_COOKIE, null) != null) {
|
||||
final Intent mainIntent = new Intent(this, Main.class);
|
||||
startActivity(mainIntent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@ import android.net.Uri;
|
|||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import com.newsblur.database.BlurDatabaseHelper;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.ImageLoader;
|
||||
|
||||
public class NewsBlurApplication extends Application {
|
||||
|
||||
private ImageLoader imageLoader;
|
||||
private BlurDatabaseHelper dbHelper;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
imageLoader = new ImageLoader(this);
|
||||
dbHelper = new BlurDatabaseHelper(this);
|
||||
FeedUtils.offerDB(dbHelper);
|
||||
}
|
||||
|
||||
public ImageLoader getImageLoader() {
|
||||
return imageLoader;
|
||||
}
|
||||
|
||||
}
|
|
@ -4,14 +4,11 @@ import android.os.Bundle;
|
|||
import android.app.FragmentTransaction;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.fragment.ReadStoriesItemListFragment;
|
||||
import com.newsblur.fragment.FeedItemListFragment;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
|
@ -28,7 +25,7 @@ public class ReadStoriesItemsList extends ItemsList {
|
|||
|
||||
itemListFragment = (ReadStoriesItemListFragment) fragmentManager.findFragmentByTag(ReadStoriesItemListFragment.class.getName());
|
||||
if (itemListFragment == null) {
|
||||
itemListFragment = ReadStoriesItemListFragment.newInstance(getDefaultFeedView());
|
||||
itemListFragment = ReadStoriesItemListFragment.newInstance();
|
||||
itemListFragment.setRetainInstance(true);
|
||||
FragmentTransaction listTransaction = fragmentManager.beginTransaction();
|
||||
listTransaction.add(R.id.activity_itemlist_container, itemListFragment, ReadStoriesItemListFragment.class.getName());
|
||||
|
@ -53,11 +50,6 @@ public class ReadStoriesItemsList extends ItemsList {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DefaultFeedView getDefaultFeedView() {
|
||||
return PrefsUtils.getDefaultFeedViewForFolder(this, PrefConstants.READ_STORIES_FOLDER_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultFeedViewChanged(DefaultFeedView value) {
|
||||
PrefsUtils.setDefaultFeedViewForFolder(this, PrefConstants.READ_STORIES_FOLDER_NAME, value);
|
||||
|
|
|
@ -52,25 +52,23 @@ import com.newsblur.view.NonfocusScrollview.ScrollChangeListener;
|
|||
public abstract class Reading extends NbActivity implements OnPageChangeListener, OnSeekBarChangeListener, ScrollChangeListener, LoaderManager.LoaderCallbacks<Cursor> {
|
||||
|
||||
public static final String EXTRA_FEEDSET = "feed_set";
|
||||
public static final String EXTRA_FEED = "feed";
|
||||
public static final String EXTRA_SOCIAL_FEED = "social_feed";
|
||||
public static final String EXTRA_POSITION = "feed_position";
|
||||
public static final String EXTRA_FOLDERNAME = "foldername";
|
||||
public static final String EXTRA_DEFAULT_FEED_VIEW = "default_feed_view";
|
||||
public static final String EXTRA_STORY_HASH = "story_hash";
|
||||
private static final String TEXT_SIZE = "textsize";
|
||||
private static final String BUNDLE_POSITION = "position";
|
||||
private static final String BUNDLE_STARTING_UNREAD = "starting_unread";
|
||||
private static final String BUNDLE_SELECTED_FEED_VIEW = "selectedFeedView";
|
||||
private static final String BUNDLE_IS_FULLSCREEN = "is_fullscreen";
|
||||
|
||||
/** special value for starting story hash that jumps to the first unread. */
|
||||
public static final String FIND_FIRST_UNREAD = "FIND_FIRST_UNREAD";
|
||||
|
||||
private static final int OVERLAY_RANGE_TOP_DP = 40;
|
||||
private static final int OVERLAY_RANGE_BOT_DP = 60;
|
||||
|
||||
/** The minimum screen width (in DP) needed to show all the overlay controls. */
|
||||
private static final int OVERLAY_MIN_WIDTH_DP = 355;
|
||||
|
||||
protected StateFilter currentState;
|
||||
protected StateFilter intelState;
|
||||
protected StoryOrder storyOrder;
|
||||
protected ReadFilter readFilter;
|
||||
|
||||
|
@ -136,7 +134,7 @@ public abstract class Reading extends NbActivity implements OnPageChangeListener
|
|||
storyHash = savedInstanceBundle.getString(EXTRA_STORY_HASH);
|
||||
}
|
||||
|
||||
currentState = (StateFilter) getIntent().getSerializableExtra(ItemsList.EXTRA_STATE);
|
||||
intelState = PrefsUtils.getStateFilter(this);
|
||||
storyOrder = PrefsUtils.getStoryOrder(this, fs);
|
||||
readFilter = PrefsUtils.getReadFilter(this, fs);
|
||||
volumeKeyNavigation = PrefsUtils.getVolumeKeyNavigation(this);
|
||||
|
@ -144,7 +142,7 @@ public abstract class Reading extends NbActivity implements OnPageChangeListener
|
|||
if ((savedInstanceBundle != null) && savedInstanceBundle.containsKey(BUNDLE_SELECTED_FEED_VIEW)) {
|
||||
defaultFeedView = (DefaultFeedView)savedInstanceBundle.getSerializable(BUNDLE_SELECTED_FEED_VIEW);
|
||||
} else {
|
||||
defaultFeedView = (DefaultFeedView) getIntent().getSerializableExtra(EXTRA_DEFAULT_FEED_VIEW);
|
||||
defaultFeedView = PrefsUtils.getDefaultFeedView(this, fs);
|
||||
}
|
||||
|
||||
// were we fullscreen before rotation?
|
||||
|
@ -219,7 +217,7 @@ public abstract class Reading extends NbActivity implements OnPageChangeListener
|
|||
finish();
|
||||
return null;
|
||||
}
|
||||
return FeedUtils.dbHelper.getStoriesLoader(fs, currentState);
|
||||
return FeedUtils.dbHelper.getStoriesLoader(fs, intelState);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -268,7 +266,8 @@ public abstract class Reading extends NbActivity implements OnPageChangeListener
|
|||
while (stories.moveToNext()) {
|
||||
if (stopLoading) return;
|
||||
Story story = Story.fromCursor(stories);
|
||||
if (story.storyHash.equals(storyHash)) {
|
||||
if ( ((storyHash.equals(FIND_FIRST_UNREAD)) && (!story.read)) ||
|
||||
(story.storyHash.equals(storyHash)) ) {
|
||||
// now that the pager is getting the right story, make it visible
|
||||
pager.setVisibility(View.VISIBLE);
|
||||
pager.setCurrentItem(stories.getPosition(), false);
|
||||
|
@ -312,7 +311,9 @@ public abstract class Reading extends NbActivity implements OnPageChangeListener
|
|||
private int getUnreadCount() {
|
||||
// saved stories and global shared stories don't have unreads
|
||||
if (fs.isAllSaved() || fs.isGlobalShared()) return 0;
|
||||
return FeedUtils.dbHelper.getUnreadCount(fs, currentState);
|
||||
int result = FeedUtils.dbHelper.getUnreadCount(fs, intelState);
|
||||
if (result < 0) return 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -358,7 +359,7 @@ public abstract class Reading extends NbActivity implements OnPageChangeListener
|
|||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_textsize) {
|
||||
TextSizeDialogFragment textSize = TextSizeDialogFragment.newInstance(PrefsUtils.getTextSize(this));
|
||||
textSize.show(getFragmentManager(), TEXT_SIZE);
|
||||
textSize.show(getFragmentManager(), TextSizeDialogFragment.class.getName());
|
||||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_reading_save) {
|
||||
if (story.starred) {
|
||||
|
|
|
@ -4,14 +4,11 @@ import android.os.Bundle;
|
|||
import android.app.FragmentTransaction;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.fragment.SavedStoriesItemListFragment;
|
||||
import com.newsblur.fragment.FeedItemListFragment;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
|
@ -28,7 +25,7 @@ public class SavedStoriesItemsList extends ItemsList {
|
|||
|
||||
itemListFragment = (SavedStoriesItemListFragment) fragmentManager.findFragmentByTag(SavedStoriesItemListFragment.class.getName());
|
||||
if (itemListFragment == null) {
|
||||
itemListFragment = SavedStoriesItemListFragment.newInstance(getDefaultFeedView());
|
||||
itemListFragment = SavedStoriesItemListFragment.newInstance();
|
||||
itemListFragment.setRetainInstance(true);
|
||||
FragmentTransaction listTransaction = fragmentManager.beginTransaction();
|
||||
listTransaction.add(R.id.activity_itemlist_container, itemListFragment, SavedStoriesItemListFragment.class.getName());
|
||||
|
@ -53,11 +50,6 @@ public class SavedStoriesItemsList extends ItemsList {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DefaultFeedView getDefaultFeedView() {
|
||||
return PrefsUtils.getDefaultFeedViewForFolder(this, PrefConstants.SAVED_STORIES_FOLDER_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultFeedViewChanged(DefaultFeedView value) {
|
||||
PrefsUtils.setDefaultFeedViewForFolder(this, PrefConstants.SAVED_STORIES_FOLDER_NAME, value);
|
||||
|
|
|
@ -1,21 +1,16 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.app.FragmentTransaction;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.domain.SocialFeed;
|
||||
import com.newsblur.fragment.FeedItemListFragment;
|
||||
import com.newsblur.fragment.SocialFeedItemListFragment;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
|
@ -35,7 +30,7 @@ public class SocialFeedItemsList extends ItemsList {
|
|||
UIUtils.setCustomActionBar(this, socialFeed.photoUrl, socialFeed.feedTitle);
|
||||
|
||||
if (itemListFragment == null) {
|
||||
itemListFragment = SocialFeedItemListFragment.newInstance(socialFeed, currentState, getDefaultFeedView());
|
||||
itemListFragment = SocialFeedItemListFragment.newInstance();
|
||||
itemListFragment.setRetainInstance(true);
|
||||
FragmentTransaction listTransaction = fragmentManager.beginTransaction();
|
||||
listTransaction.add(R.id.activity_itemlist_container, itemListFragment, SocialFeedItemListFragment.class.getName());
|
||||
|
@ -76,11 +71,6 @@ public class SocialFeedItemsList extends ItemsList {
|
|||
return PrefsUtils.getReadFilterForFeed(this, socialFeed.userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DefaultFeedView getDefaultFeedView() {
|
||||
return PrefsUtils.getDefaultFeedViewForFeed(this, socialFeed.userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultFeedViewChanged(DefaultFeedView value) {
|
||||
PrefsUtils.setDefaultFeedViewForFeed(this, socialFeed.userId, value);
|
||||
|
|
|
@ -11,22 +11,16 @@ import com.newsblur.util.UIUtils;
|
|||
|
||||
public class SocialFeedReading extends Reading {
|
||||
|
||||
public static final String EXTRA_NAVIGATE_FROM_PROFILE = "navigate_from_profile";
|
||||
private SocialFeed socialFeed;
|
||||
|
||||
private boolean openedFromProfile;
|
||||
public static final String EXTRA_IGNORE_FILTERS = "ignore_filters";
|
||||
private boolean ignoreFilters;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceBundle) {
|
||||
super.onCreate(savedInstanceBundle);
|
||||
|
||||
socialFeed = (SocialFeed) getIntent().getSerializableExtra(EXTRA_SOCIAL_FEED);
|
||||
openedFromProfile = getIntent().hasExtra(EXTRA_NAVIGATE_FROM_PROFILE);
|
||||
|
||||
ignoreFilters = getIntent().hasExtra(EXTRA_IGNORE_FILTERS);
|
||||
SocialFeed socialFeed = FeedUtils.dbHelper.getSocialFeed(fs.getSingleSocialFeed().getKey());
|
||||
UIUtils.setCustomActionBar(this, socialFeed.photoUrl, socialFeed.feedTitle);
|
||||
|
||||
readingAdapter = new MixedFeedsReadingAdapter(getFragmentManager(), defaultFeedView, socialFeed.userId);
|
||||
|
||||
getLoaderManager().initLoader(0, null, this);
|
||||
}
|
||||
|
||||
|
@ -34,7 +28,7 @@ public class SocialFeedReading extends Reading {
|
|||
public Loader<Cursor> onCreateLoader(int loaderId, Bundle bundle) {
|
||||
// If we have navigated from the profile we want to ignore the StateFilter and ReadFilter settings
|
||||
// for the feed to ensure we can find the story.
|
||||
if (openedFromProfile) {
|
||||
if (ignoreFilters) {
|
||||
return FeedUtils.dbHelper.getStoriesLoaderIgnoreFilters(fs);
|
||||
} else {
|
||||
return super.onCreateLoader(loaderId, bundle);
|
||||
|
|
|
@ -24,7 +24,6 @@ import com.newsblur.network.domain.StoriesResponse;
|
|||
import com.newsblur.service.NBSyncService;
|
||||
import com.newsblur.util.AppConstants;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ReadingAction;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
|
|
|
@ -4,7 +4,6 @@ import android.database.Cursor;
|
|||
import android.text.TextUtils;
|
||||
import android.provider.BaseColumns;
|
||||
|
||||
import com.newsblur.util.AppConstants;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
|
@ -287,11 +286,11 @@ public class DatabaseConstants {
|
|||
|
||||
public static final String[] FEED_COLUMNS = {
|
||||
FEED_TABLE + "." + FEED_ACTIVE, FEED_TABLE + "." + FEED_ID, FEED_TABLE + "." + FEED_FAVICON_URL, FEED_TABLE + "." + FEED_TITLE, FEED_TABLE + "." + FEED_LINK, FEED_TABLE + "." + FEED_ADDRESS, FEED_TABLE + "." + FEED_SUBSCRIBERS, FEED_TABLE + "." + FEED_UPDATED_SECONDS, FEED_TABLE + "." + FEED_FAVICON_FADE, FEED_TABLE + "." + FEED_FAVICON_COLOR, FEED_TABLE + "." + FEED_FAVICON_BORDER, FEED_TABLE + "." + FEED_FAVICON_TEXT,
|
||||
FEED_TABLE + "." + FEED_POSITIVE_COUNT, FEED_TABLE + "." + FEED_NEUTRAL_COUNT, FEED_TABLE + "." + FEED_NEGATIVE_COUNT
|
||||
FEED_TABLE + "." + FEED_POSITIVE_COUNT, FEED_TABLE + "." + FEED_NEUTRAL_COUNT, FEED_TABLE + "." + FEED_NEGATIVE_COUNT,
|
||||
};
|
||||
|
||||
public static final String[] SOCIAL_FEED_COLUMNS = {
|
||||
SOCIAL_FEED_ID, SOCIAL_FEED_USERNAME, SOCIAL_FEED_TITLE, SOCIAL_FEED_ICON, SOCIAL_FEED_POSITIVE_COUNT, SOCIAL_FEED_NEUTRAL_COUNT, SOCIAL_FEED_NEGATIVE_COUNT
|
||||
SOCIAL_FEED_ID, SOCIAL_FEED_USERNAME, SOCIAL_FEED_TITLE, SOCIAL_FEED_ICON, SOCIAL_FEED_POSITIVE_COUNT, SOCIAL_FEED_NEUTRAL_COUNT, SOCIAL_FEED_NEGATIVE_COUNT,
|
||||
};
|
||||
|
||||
public static final String SUM_STORY_TOTAL = "storyTotal";
|
||||
|
@ -312,7 +311,7 @@ public class DatabaseConstants {
|
|||
STORY_TABLE + "." + STORY_FEED_ID, STORY_TABLE + "." + STORY_ID, STORY_INTELLIGENCE_AUTHORS, STORY_INTELLIGENCE_FEED, STORY_INTELLIGENCE_TAGS,
|
||||
STORY_INTELLIGENCE_TITLE, STORY_PERMALINK, STORY_READ, STORY_STARRED, STORY_STARRED_DATE, STORY_SHARE_COUNT, STORY_TAGS, STORY_TITLE,
|
||||
STORY_SOCIAL_USER_ID, STORY_SOURCE_USER_ID, STORY_SHARED_USER_IDS, STORY_FRIEND_USER_IDS, STORY_PUBLIC_USER_IDS, STORY_SUM_TOTAL, STORY_HASH,
|
||||
STORY_LAST_READ_DATE
|
||||
STORY_LAST_READ_DATE,
|
||||
};
|
||||
|
||||
public static final String MULTIFEED_STORIES_QUERY_BASE =
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
package com.newsblur.database;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Color;
|
||||
|
@ -10,7 +7,6 @@ import android.graphics.Typeface;
|
|||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.newsblur.R;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.newsblur.database;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.app.FragmentManager;
|
||||
|
||||
import com.newsblur.activity.ReadingAdapter;
|
||||
|
|
|
@ -10,9 +10,7 @@ import java.util.LinkedHashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
|
@ -28,16 +26,13 @@ import android.widget.TextView;
|
|||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.AllSharedStoriesItemsList;
|
||||
import com.newsblur.activity.AllStoriesItemsList;
|
||||
import com.newsblur.activity.FolderItemsList;
|
||||
import com.newsblur.activity.GlobalSharedStoriesItemsList;
|
||||
import com.newsblur.activity.NewsBlurApplication;
|
||||
import static com.newsblur.database.DatabaseConstants.getStr;
|
||||
import com.newsblur.domain.Feed;
|
||||
import com.newsblur.domain.Folder;
|
||||
import com.newsblur.domain.SocialFeed;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.AppConstants;
|
||||
import com.newsblur.util.ImageLoader;
|
||||
import com.newsblur.util.StateFilter;
|
||||
|
||||
/**
|
||||
|
@ -90,16 +85,12 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
|||
private int savedStoriesCount;
|
||||
|
||||
private Context context;
|
||||
|
||||
private LayoutInflater inflater;
|
||||
private ImageLoader imageLoader;
|
||||
|
||||
private StateFilter currentState;
|
||||
|
||||
public FolderListAdapter(Context context, StateFilter currentState) {
|
||||
this.context = context;
|
||||
this.currentState = currentState;
|
||||
imageLoader = ((NewsBlurApplication) context.getApplicationContext()).getImageLoader();
|
||||
this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
}
|
||||
|
||||
|
@ -112,7 +103,6 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent i = new Intent(context, GlobalSharedStoriesItemsList.class);
|
||||
i.putExtra(GlobalSharedStoriesItemsList.EXTRA_STATE, currentState);
|
||||
context.startActivity(i);
|
||||
}
|
||||
});
|
||||
|
@ -122,7 +112,6 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent i = new Intent(context, AllSharedStoriesItemsList.class);
|
||||
i.putExtra(AllStoriesItemsList.EXTRA_STATE, currentState);
|
||||
context.startActivity(i);
|
||||
}
|
||||
});
|
||||
|
@ -164,7 +153,6 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
|||
public void onClick(View v) {
|
||||
Intent i = new Intent(v.getContext(), FolderItemsList.class);
|
||||
i.putExtra(FolderItemsList.EXTRA_FOLDER_NAME, canonicalFolderName);
|
||||
i.putExtra(FolderItemsList.EXTRA_STATE, currentState);
|
||||
context.startActivity(i);
|
||||
}
|
||||
});
|
||||
|
@ -194,7 +182,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
|||
}
|
||||
SocialFeed f = socialFeedsOrdered.get(childPosition);
|
||||
((TextView) v.findViewById(R.id.row_socialfeed_name)).setText(f.feedTitle);
|
||||
imageLoader.displayImage(f.photoUrl, ((ImageView) v.findViewById(R.id.row_socialfeed_icon)), false);
|
||||
FeedUtils.imageLoader.displayImage(f.photoUrl, ((ImageView) v.findViewById(R.id.row_socialfeed_icon)), false);
|
||||
TextView neutCounter = ((TextView) v.findViewById(R.id.row_socialsumneu));
|
||||
if (f.neutralCount > 0 && currentState != StateFilter.BEST) {
|
||||
neutCounter.setVisibility(View.VISIBLE);
|
||||
|
@ -217,7 +205,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
|||
v = convertView;
|
||||
}
|
||||
((TextView) v.findViewById(R.id.row_feedname)).setText(f.title);
|
||||
imageLoader.displayImage(f.faviconUrl, ((ImageView) v.findViewById(R.id.row_feedfavicon)), false);
|
||||
FeedUtils.imageLoader.displayImage(f.faviconUrl, ((ImageView) v.findViewById(R.id.row_feedfavicon)), false);
|
||||
TextView neutCounter = ((TextView) v.findViewById(R.id.row_feedneutral));
|
||||
if (f.neutralCount > 0 && currentState != StateFilter.BEST) {
|
||||
neutCounter.setVisibility(View.VISIBLE);
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.newsblur.database;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.app.FragmentManager;
|
||||
|
||||
import com.newsblur.activity.ReadingAdapter;
|
||||
|
|
|
@ -1,34 +1,27 @@
|
|||
package com.newsblur.database;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Typeface;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.NewsBlurApplication;
|
||||
import com.newsblur.domain.Story;
|
||||
import com.newsblur.util.ImageLoader;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ThemeUtils;
|
||||
|
||||
public class MultipleFeedItemsAdapter extends StoryItemsAdapter {
|
||||
|
||||
private ImageLoader imageLoader;
|
||||
private int storyTitleUnread, storyContentUnread, storyAuthorUnread, storyTitleRead, storyContentRead, storyAuthorRead, storyDateUnread, storyDateRead, storyFeedUnread, storyFeedRead;
|
||||
private boolean ignoreReadStatus;
|
||||
|
||||
public MultipleFeedItemsAdapter(Context context, int layout, Cursor c, String[] from, int[] to, boolean ignoreReadStatus) {
|
||||
super(context, layout, c, from, to);
|
||||
imageLoader = ((NewsBlurApplication) context.getApplicationContext()).getImageLoader();
|
||||
|
||||
storyTitleUnread = ThemeUtils.getStoryTitleUnreadColor(context);
|
||||
storyTitleRead = ThemeUtils.getStoryTitleReadColor(context);
|
||||
|
@ -59,7 +52,7 @@ public class MultipleFeedItemsAdapter extends StoryItemsAdapter {
|
|||
String feedFade = cursor.getString(cursor.getColumnIndex(DatabaseConstants.FEED_FAVICON_COLOR));
|
||||
|
||||
String faviconUrl = cursor.getString(cursor.getColumnIndex(DatabaseConstants.FEED_FAVICON_URL));
|
||||
imageLoader.displayImage(faviconUrl, ((ImageView) v.findViewById(R.id.row_item_feedicon)), false);
|
||||
FeedUtils.imageLoader.displayImage(faviconUrl, ((ImageView) v.findViewById(R.id.row_item_feedicon)), false);
|
||||
|
||||
if (!TextUtils.equals(feedColor, "#null") && !TextUtils.equals(feedFade, "#null")) {
|
||||
borderOne.setBackgroundColor(Color.parseColor(feedColor));
|
||||
|
|
|
@ -4,8 +4,6 @@ import android.content.Context;
|
|||
import android.database.Cursor;
|
||||
import android.widget.SimpleCursorAdapter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.newsblur.domain.Story;
|
||||
|
||||
public class StoryItemsAdapter extends SimpleCursorAdapter {
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
package com.newsblur.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.database.Cursor;
|
||||
|
|
|
@ -15,7 +15,6 @@ import android.widget.CompoundButton;
|
|||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.AddFacebook;
|
||||
|
|
|
@ -1,21 +1,12 @@
|
|||
package com.newsblur.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.Loader;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.AllSharedStoriesReading;
|
||||
import com.newsblur.activity.FeedReading;
|
||||
import com.newsblur.activity.ItemsList;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MultipleFeedItemsAdapter;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.view.SocialItemViewBinder;
|
||||
|
||||
public class AllSharedStoriesItemListFragment extends ItemListFragment {
|
||||
|
@ -32,24 +23,11 @@ public class AllSharedStoriesItemListFragment extends ItemListFragment {
|
|||
super.onLoadFinished(loader, cursor);
|
||||
}
|
||||
|
||||
public static ItemListFragment newInstance(StateFilter currentState, DefaultFeedView defaultFeedView) {
|
||||
public static ItemListFragment newInstance() {
|
||||
ItemListFragment everythingFragment = new AllSharedStoriesItemListFragment();
|
||||
Bundle arguments = new Bundle();
|
||||
arguments.putSerializable("currentState", currentState);
|
||||
arguments.putSerializable("defaultFeedView", defaultFeedView);
|
||||
everythingFragment.setArguments(arguments);
|
||||
|
||||
return everythingFragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick_(String storyHash) {
|
||||
Intent i = new Intent(getActivity(), AllSharedStoriesReading.class);
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, storyHash);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, getFeedSet());
|
||||
i.putExtra(ItemsList.EXTRA_STATE, currentState);
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, defaultFeedView);
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,21 +1,12 @@
|
|||
package com.newsblur.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.content.Loader;
|
||||
import android.view.View;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.AllStoriesReading;
|
||||
import com.newsblur.activity.FeedReading;
|
||||
import com.newsblur.activity.ItemsList;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MultipleFeedItemsAdapter;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.view.SocialItemViewBinder;
|
||||
|
||||
public class AllStoriesItemListFragment extends ItemListFragment {
|
||||
|
@ -32,24 +23,11 @@ public class AllStoriesItemListFragment extends ItemListFragment {
|
|||
super.onLoadFinished(loader, cursor);
|
||||
}
|
||||
|
||||
public static ItemListFragment newInstance(StateFilter currentState, DefaultFeedView defaultFeedView) {
|
||||
public static ItemListFragment newInstance() {
|
||||
ItemListFragment everythingFragment = new AllStoriesItemListFragment();
|
||||
Bundle arguments = new Bundle();
|
||||
arguments.putSerializable("currentState", currentState);
|
||||
arguments.putSerializable("defaultFeedView", defaultFeedView);
|
||||
everythingFragment.setArguments(arguments);
|
||||
|
||||
return everythingFragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick_(String storyHash) {
|
||||
Intent i = new Intent(getActivity(), AllStoriesReading.class);
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, storyHash);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, getFeedSet());
|
||||
i.putExtra(ItemsList.EXTRA_STATE, currentState);
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, defaultFeedView);
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@ import android.os.Bundle;
|
|||
import android.app.DialogFragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
|
|
@ -1,37 +1,24 @@
|
|||
package com.newsblur.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.content.Loader;
|
||||
import android.view.View;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.FeedReading;
|
||||
import com.newsblur.activity.ItemsList;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.FeedItemsAdapter;
|
||||
import com.newsblur.domain.Feed;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.util.ReadFilter;
|
||||
import com.newsblur.view.FeedItemViewBinder;
|
||||
|
||||
public class FeedItemListFragment extends ItemListFragment {
|
||||
|
||||
private Feed feed;
|
||||
|
||||
public static FeedItemListFragment newInstance(Feed feed, StateFilter currentState, DefaultFeedView defaultFeedView) {
|
||||
public static FeedItemListFragment newInstance(Feed feed) {
|
||||
FeedItemListFragment feedItemFragment = new FeedItemListFragment();
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable("currentState", currentState);
|
||||
args.putSerializable("feed", feed);
|
||||
args.putSerializable("defaultFeedView", defaultFeedView);
|
||||
feedItemFragment.setArguments(args);
|
||||
|
||||
return feedItemFragment;
|
||||
}
|
||||
|
||||
|
@ -53,15 +40,4 @@ public class FeedItemListFragment extends ItemListFragment {
|
|||
super.onLoadFinished(loader, cursor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick_(String storyHash) {
|
||||
Intent i = new Intent(getActivity(), FeedReading.class);
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, storyHash);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, getFeedSet());
|
||||
i.putExtra(Reading.EXTRA_FEED, feed);
|
||||
i.putExtra(ItemsList.EXTRA_STATE, currentState);
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, defaultFeedView);
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,45 +1,23 @@
|
|||
package com.newsblur.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.content.Loader;
|
||||
import android.view.View;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.FeedReading;
|
||||
import com.newsblur.activity.FolderReading;
|
||||
import com.newsblur.activity.ItemsList;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MultipleFeedItemsAdapter;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.view.FeedItemViewBinder;
|
||||
|
||||
public class FolderItemListFragment extends ItemListFragment {
|
||||
|
||||
private String folderName;
|
||||
|
||||
public static FolderItemListFragment newInstance(String folderName, StateFilter currentState, DefaultFeedView defaultFeedView) {
|
||||
public static FolderItemListFragment newInstance() {
|
||||
FolderItemListFragment feedItemFragment = new FolderItemListFragment();
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable("currentState", currentState);
|
||||
args.putString("folderName", folderName);
|
||||
args.putSerializable("defaultFeedView", defaultFeedView);
|
||||
feedItemFragment.setArguments(args);
|
||||
|
||||
return feedItemFragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
folderName = getArguments().getString("folderName");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
|
||||
if ((adapter == null) && (cursor != null)) {
|
||||
|
@ -52,15 +30,4 @@ public class FolderItemListFragment extends ItemListFragment {
|
|||
super.onLoadFinished(loader, cursor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick_(String storyHash) {
|
||||
Intent i = new Intent(getActivity(), FolderReading.class);
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, storyHash);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, getFeedSet());
|
||||
i.putExtra(FeedReading.EXTRA_FOLDERNAME, folderName);
|
||||
i.putExtra(ItemsList.EXTRA_STATE, currentState);
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, defaultFeedView);
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -30,7 +30,6 @@ import com.newsblur.R;
|
|||
import com.newsblur.activity.AllStoriesItemsList;
|
||||
import com.newsblur.activity.FeedItemsList;
|
||||
import com.newsblur.activity.Main;
|
||||
import com.newsblur.activity.ItemsList;
|
||||
import com.newsblur.activity.ReadStoriesItemsList;
|
||||
import com.newsblur.activity.SavedStoriesItemsList;
|
||||
import com.newsblur.activity.SocialFeedItemsList;
|
||||
|
@ -283,7 +282,6 @@ public class FolderListFragment extends NbFragment implements OnCreateContextMen
|
|||
@OnGroupClick(R.id.folderfeed_list) boolean onGroupClick(ExpandableListView list, View group, int groupPosition, long id) {
|
||||
if (adapter.isFolderRoot(groupPosition)) {
|
||||
Intent i = new Intent(getActivity(), AllStoriesItemsList.class);
|
||||
i.putExtra(ItemsList.EXTRA_STATE, currentState);
|
||||
startActivity(i);
|
||||
return true;
|
||||
} else if (adapter.isRowReadStories(groupPosition)) {
|
||||
|
@ -345,7 +343,6 @@ public class FolderListFragment extends NbFragment implements OnCreateContextMen
|
|||
SocialFeed socialFeed = adapter.getSocialFeed(childName);
|
||||
Intent intent = new Intent(getActivity(), SocialFeedItemsList.class);
|
||||
intent.putExtra(SocialFeedItemsList.EXTRA_SOCIAL_FEED, socialFeed);
|
||||
intent.putExtra(ItemsList.EXTRA_STATE, currentState);
|
||||
getActivity().startActivity(intent);
|
||||
} else {
|
||||
Feed feed = adapter.getFeed(childName);
|
||||
|
@ -353,7 +350,6 @@ public class FolderListFragment extends NbFragment implements OnCreateContextMen
|
|||
Intent intent = new Intent(getActivity(), FeedItemsList.class);
|
||||
intent.putExtra(FeedItemsList.EXTRA_FEED, feed);
|
||||
intent.putExtra(FeedItemsList.EXTRA_FOLDER_NAME, folderName);
|
||||
intent.putExtra(ItemsList.EXTRA_STATE, currentState);
|
||||
getActivity().startActivity(intent);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.newsblur.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.Loader;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
|
@ -9,23 +8,15 @@ import android.view.ContextMenu.ContextMenuInfo;
|
|||
import android.view.View;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.FeedReading;
|
||||
import com.newsblur.activity.GlobalSharedStoriesReading;
|
||||
import com.newsblur.activity.ItemsList;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MultipleFeedItemsAdapter;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.view.SocialItemViewBinder;
|
||||
|
||||
public class GlobalSharedStoriesItemListFragment extends ItemListFragment {
|
||||
|
||||
public static ItemListFragment newInstance(DefaultFeedView defaultFeedView, StateFilter currentState) {
|
||||
public static ItemListFragment newInstance() {
|
||||
ItemListFragment fragment = new GlobalSharedStoriesItemListFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable("defaultFeedView", defaultFeedView);
|
||||
args.putSerializable("currentState", currentState);
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
@ -42,16 +33,6 @@ public class GlobalSharedStoriesItemListFragment extends ItemListFragment {
|
|||
super.onLoadFinished(loader, cursor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick_(String storyHash) {
|
||||
Intent i = new Intent(getActivity(), GlobalSharedStoriesReading.class);
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, storyHash);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, getFeedSet());
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, defaultFeedView);
|
||||
i.putExtra(ItemsList.EXTRA_STATE, currentState);
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
|
||||
super.onCreateContextMenu(menu, v, menuInfo);
|
||||
|
|
|
@ -41,6 +41,7 @@ import com.newsblur.util.FeedUtils;
|
|||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.util.UIUtils;
|
||||
import com.newsblur.util.ViewUtils;
|
||||
import com.newsblur.view.ProgressThrobber;
|
||||
|
||||
|
@ -52,7 +53,7 @@ public abstract class ItemListFragment extends NbFragment implements OnScrollLis
|
|||
@FindView(R.id.itemlistfragment_list) ListView itemList;
|
||||
protected StoryItemsAdapter adapter;
|
||||
protected DefaultFeedView defaultFeedView;
|
||||
protected StateFilter currentState;
|
||||
protected StateFilter intelState;
|
||||
private boolean cursorSeenYet = false;
|
||||
private boolean firstStorySeenYet = false;
|
||||
private boolean stopLoading = false;
|
||||
|
@ -67,7 +68,7 @@ public abstract class ItemListFragment extends NbFragment implements OnScrollLis
|
|||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
currentState = (StateFilter) getArguments().getSerializable("currentState");
|
||||
intelState = PrefsUtils.getStateFilter(getActivity());
|
||||
defaultFeedView = (DefaultFeedView)getArguments().getSerializable("defaultFeedView");
|
||||
activity = (ItemsList) getActivity();
|
||||
}
|
||||
|
@ -210,11 +211,6 @@ public abstract class ItemListFragment extends NbFragment implements OnScrollLis
|
|||
@Override
|
||||
public void onScrollStateChanged(AbsListView view, int scrollState) { }
|
||||
|
||||
public void changeState(StateFilter state) {
|
||||
currentState = state;
|
||||
hasUpdated();
|
||||
}
|
||||
|
||||
protected FeedSet getFeedSet() {
|
||||
return activity.getFeedSet();
|
||||
}
|
||||
|
@ -234,7 +230,7 @@ public abstract class ItemListFragment extends NbFragment implements OnScrollLis
|
|||
try { getActivity().finish(); } catch (Exception e) {;}
|
||||
return null;
|
||||
}
|
||||
return FeedUtils.dbHelper.getStoriesLoader(getFeedSet(), currentState);
|
||||
return FeedUtils.dbHelper.getStoriesLoader(getFeedSet(), intelState);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -344,11 +340,9 @@ public abstract class ItemListFragment extends NbFragment implements OnScrollLis
|
|||
int truePosition = position - 1;
|
||||
Story story = adapter.getStory(truePosition);
|
||||
if (getActivity().isFinishing()) return;
|
||||
onItemClick_(story.storyHash);
|
||||
UIUtils.startReadingActivity(getFeedSet(), story.storyHash, getActivity(), false);
|
||||
}
|
||||
|
||||
public abstract void onItemClick_(String storyHash);
|
||||
|
||||
protected void setupBezelSwipeDetector(View v) {
|
||||
final GestureDetector gestureDetector = new GestureDetector(getActivity(), new BezelSwipeDetector());
|
||||
v.setOnTouchListener(new OnTouchListener() {
|
||||
|
|
|
@ -7,10 +7,8 @@ import android.text.TextUtils;
|
|||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import android.widget.TextView.OnEditorActionListener;
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.newsblur.fragment;
|
|||
import android.app.Activity;
|
||||
import android.app.Fragment;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.newsblur.service.NBSyncService;
|
||||
|
||||
|
|
|
@ -17,11 +17,7 @@ import android.widget.Toast;
|
|||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.FeedItemsList;
|
||||
import com.newsblur.activity.ItemsList;
|
||||
import com.newsblur.activity.Profile;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.activity.SavedStoriesReading;
|
||||
import com.newsblur.activity.SocialFeedReading;
|
||||
import com.newsblur.domain.Feed;
|
||||
import com.newsblur.domain.SocialFeed;
|
||||
import com.newsblur.domain.UserDetails;
|
||||
|
@ -30,8 +26,7 @@ import com.newsblur.domain.ActivityDetails.Category;
|
|||
import com.newsblur.network.APIManager;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.UIUtils;
|
||||
import com.newsblur.view.ActivityDetailsAdapter;
|
||||
import com.newsblur.view.ProgressThrobber;
|
||||
|
||||
|
@ -146,15 +141,10 @@ public abstract class ProfileActivityDetailsFragment extends Fragment implements
|
|||
} else {
|
||||
Intent intent = new Intent(context, FeedItemsList.class);
|
||||
intent.putExtra(FeedItemsList.EXTRA_FEED, feed);
|
||||
intent.putExtra(ItemsList.EXTRA_STATE, PrefsUtils.getStateFilter(context));
|
||||
context.startActivity(intent);
|
||||
}
|
||||
} else if (activity.category == Category.STAR) {
|
||||
Intent i = new Intent(context, SavedStoriesReading.class);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, FeedSet.allSaved());
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, activity.storyHash);
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, PrefsUtils.getDefaultFeedViewForFolder(context, PrefConstants.SAVED_STORIES_FOLDER_NAME));
|
||||
context.startActivity(i);
|
||||
UIUtils.startReadingActivity(FeedSet.allSaved(), activity.storyHash, context, false);
|
||||
} else if (isSocialFeedCategory(activity)) {
|
||||
// Strip the social: prefix from feedId
|
||||
String socialFeedId = activity.feedId.substring(7);
|
||||
|
@ -162,14 +152,7 @@ public abstract class ProfileActivityDetailsFragment extends Fragment implements
|
|||
if (feed == null) {
|
||||
Toast.makeText(context, R.string.profile_do_not_follow, Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
Intent i = new Intent(context, SocialFeedReading.class);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, FeedSet.singleSocialFeed(feed.userId, feed.username));
|
||||
i.putExtra(Reading.EXTRA_SOCIAL_FEED, feed);
|
||||
i.putExtra(ItemsList.EXTRA_STATE, PrefsUtils.getStateFilter(context));
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, activity.storyHash);
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, PrefsUtils.getDefaultFeedViewForFeed(context, socialFeedId));
|
||||
i.putExtra(SocialFeedReading.EXTRA_NAVIGATE_FROM_PROFILE, true);
|
||||
context.startActivity(i);
|
||||
UIUtils.startReadingActivity(FeedSet.singleSocialFeed(feed.userId, feed.username), activity.storyHash, context, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,10 +16,9 @@ import android.widget.ImageView;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.NewsBlurApplication;
|
||||
import com.newsblur.domain.UserDetails;
|
||||
import com.newsblur.network.APIManager;
|
||||
import com.newsblur.util.ImageLoader;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.UIUtils;
|
||||
|
||||
|
@ -30,14 +29,12 @@ public class ProfileDetailsFragment extends Fragment implements OnClickListener
|
|||
private View locationIcon;
|
||||
private ImageView imageView;
|
||||
private boolean viewingSelf = false;
|
||||
private ImageLoader imageLoader;
|
||||
private Button followButton, unfollowButton;
|
||||
private APIManager apiManager;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
imageLoader = ((NewsBlurApplication) getActivity().getApplicationContext()).getImageLoader();
|
||||
apiManager = new APIManager(getActivity());
|
||||
}
|
||||
|
||||
|
@ -102,7 +99,7 @@ public class ProfileDetailsFragment extends Fragment implements OnClickListener
|
|||
followingCount.setText("" + user.followingCount);
|
||||
|
||||
if (!viewingSelf) {
|
||||
imageLoader.displayImage(user.photoUrl, imageView);
|
||||
FeedUtils.imageLoader.displayImage(user.photoUrl, imageView);
|
||||
if (user.followedByYou) {
|
||||
unfollowButton.setVisibility(View.VISIBLE);
|
||||
followButton.setVisibility(View.GONE);
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package com.newsblur.fragment;
|
||||
|
||||
import android.content.CursorLoader;
|
||||
import android.content.Intent;
|
||||
import android.content.Loader;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
|
@ -10,13 +8,8 @@ import android.view.ContextMenu.ContextMenuInfo;
|
|||
import android.view.View;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.activity.ReadStoriesReading;
|
||||
import com.newsblur.activity.FeedReading;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MultipleFeedItemsAdapter;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.view.SocialItemViewBinder;
|
||||
|
||||
public class ReadStoriesItemListFragment extends ItemListFragment {
|
||||
|
@ -26,10 +19,9 @@ public class ReadStoriesItemListFragment extends ItemListFragment {
|
|||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
public static ItemListFragment newInstance(DefaultFeedView defaultFeedView) {
|
||||
public static ItemListFragment newInstance() {
|
||||
ItemListFragment fragment = new ReadStoriesItemListFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable("defaultFeedView", defaultFeedView);
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
@ -46,15 +38,6 @@ public class ReadStoriesItemListFragment extends ItemListFragment {
|
|||
super.onLoadFinished(loader, cursor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick_(String storyHash) {
|
||||
Intent i = new Intent(getActivity(), ReadStoriesReading.class);
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, storyHash);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, getFeedSet());
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, defaultFeedView);
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
|
||||
super.onCreateContextMenu(menu, v, menuInfo);
|
||||
|
|
|
@ -15,7 +15,6 @@ import android.os.AsyncTask;
|
|||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.app.DialogFragment;
|
||||
import android.app.Fragment;
|
||||
import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
@ -37,7 +36,6 @@ import butterknife.OnClick;
|
|||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.NbActivity;
|
||||
import com.newsblur.activity.NewsBlurApplication;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.domain.Classifier;
|
||||
import com.newsblur.domain.Story;
|
||||
|
@ -46,7 +44,6 @@ import com.newsblur.service.NBSyncService;
|
|||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.ImageCache;
|
||||
import com.newsblur.util.ImageLoader;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.StoryUtils;
|
||||
import com.newsblur.util.UIUtils;
|
||||
|
@ -59,8 +56,6 @@ import java.util.Date;
|
|||
import java.util.HashMap;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class ReadingItemFragment extends NbFragment implements ClassifierDialogFragment.TagUpdateCallback {
|
||||
|
||||
|
@ -68,7 +63,6 @@ public class ReadingItemFragment extends NbFragment implements ClassifierDialogF
|
|||
public static final String TEXT_SIZE_VALUE = "textSizeChangeValue";
|
||||
public Story story;
|
||||
private LayoutInflater inflater;
|
||||
private ImageLoader imageLoader;
|
||||
private String feedColor, feedTitle, feedFade, feedBorder, feedIconUrl, faviconText;
|
||||
private Classifier classifier;
|
||||
@FindView(R.id.reading_webview) NewsblurWebview web;
|
||||
|
@ -136,7 +130,6 @@ public class ReadingItemFragment extends NbFragment implements ClassifierDialogF
|
|||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
imageLoader = ((NewsBlurApplication) getActivity().getApplicationContext()).getImageLoader();
|
||||
story = getArguments() != null ? (Story) getArguments().getSerializable("story") : null;
|
||||
|
||||
inflater = getActivity().getLayoutInflater();
|
||||
|
@ -310,7 +303,7 @@ public class ReadingItemFragment extends NbFragment implements ClassifierDialogF
|
|||
}
|
||||
|
||||
private void setupItemCommentsAndShares() {
|
||||
new SetupCommentSectionTask(this, view, inflater, story, imageLoader).execute();
|
||||
new SetupCommentSectionTask(this, view, inflater, story).execute();
|
||||
}
|
||||
|
||||
private void setupItemMetadata() {
|
||||
|
@ -328,7 +321,7 @@ public class ReadingItemFragment extends NbFragment implements ClassifierDialogF
|
|||
|
||||
int[] colors = {
|
||||
Color.parseColor(feedColor),
|
||||
Color.parseColor(feedFade)
|
||||
Color.parseColor(feedFade),
|
||||
};
|
||||
GradientDrawable gradient = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP,
|
||||
colors);
|
||||
|
@ -347,7 +340,7 @@ public class ReadingItemFragment extends NbFragment implements ClassifierDialogF
|
|||
itemFeed.setVisibility(View.GONE);
|
||||
feedIcon.setVisibility(View.GONE);
|
||||
} else {
|
||||
imageLoader.displayImage(feedIconUrl, feedIcon, false);
|
||||
FeedUtils.imageLoader.displayImage(feedIconUrl, feedIcon, false);
|
||||
itemFeed.setText(feedTitle);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ import android.os.Bundle;
|
|||
import android.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.Button;
|
||||
|
|
|
@ -4,17 +4,14 @@ import android.app.Activity;
|
|||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.app.DialogFragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.domain.Story;
|
||||
import com.newsblur.network.APIManager;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
|
||||
public class ReplyDialogFragment extends DialogFragment {
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package com.newsblur.fragment;
|
||||
|
||||
import android.content.CursorLoader;
|
||||
import android.content.Intent;
|
||||
import android.content.Loader;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
|
@ -10,13 +8,8 @@ import android.view.ContextMenu.ContextMenuInfo;
|
|||
import android.view.View;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.activity.SavedStoriesReading;
|
||||
import com.newsblur.activity.FeedReading;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MultipleFeedItemsAdapter;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.view.SocialItemViewBinder;
|
||||
|
||||
public class SavedStoriesItemListFragment extends ItemListFragment {
|
||||
|
@ -26,10 +19,9 @@ public class SavedStoriesItemListFragment extends ItemListFragment {
|
|||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
public static ItemListFragment newInstance(DefaultFeedView defaultFeedView) {
|
||||
public static ItemListFragment newInstance() {
|
||||
ItemListFragment fragment = new SavedStoriesItemListFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable("defaultFeedView", defaultFeedView);
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
@ -46,15 +38,6 @@ public class SavedStoriesItemListFragment extends ItemListFragment {
|
|||
super.onLoadFinished(loader, cursor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick_(String storyHash) {
|
||||
Intent i = new Intent(getActivity(), SavedStoriesReading.class);
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, storyHash);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, getFeedSet());
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, defaultFeedView);
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
|
||||
super.onCreateContextMenu(menu, v, menuInfo);
|
||||
|
|
|
@ -31,7 +31,6 @@ import com.newsblur.domain.UserDetails;
|
|||
import com.newsblur.domain.UserProfile;
|
||||
import com.newsblur.fragment.ReplyDialogFragment;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.ImageLoader;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.ViewUtils;
|
||||
import com.newsblur.view.FlowLayout;
|
||||
|
@ -45,20 +44,18 @@ public class SetupCommentSectionTask extends AsyncTask<Void, Void, Void> {
|
|||
private final ReadingItemFragment fragment;
|
||||
private final Story story;
|
||||
private final LayoutInflater inflater;
|
||||
private final ImageLoader imageLoader;
|
||||
private WeakReference<View> viewHolder;
|
||||
private final Context context;
|
||||
private UserDetails user;
|
||||
private final FragmentManager manager;
|
||||
private List<Comment> comments;
|
||||
|
||||
public SetupCommentSectionTask(ReadingItemFragment fragment, View view, LayoutInflater inflater, Story story, ImageLoader imageLoader) {
|
||||
public SetupCommentSectionTask(ReadingItemFragment fragment, View view, LayoutInflater inflater, Story story) {
|
||||
this.fragment = fragment;
|
||||
this.context = fragment.getActivity();
|
||||
this.manager = fragment.getFragmentManager();
|
||||
this.inflater = inflater;
|
||||
this.story = story;
|
||||
this.imageLoader = imageLoader;
|
||||
viewHolder = new WeakReference<View>(view);
|
||||
user = PrefsUtils.getUserDetails(context);
|
||||
}
|
||||
|
@ -109,7 +106,7 @@ public class SetupCommentSectionTask extends AsyncTask<Void, Void, Void> {
|
|||
ImageView favouriteImage = new ImageView(context);
|
||||
UserProfile user = FeedUtils.dbHelper.getUserProfile(id);
|
||||
if (user != null) {
|
||||
imageLoader.displayImage(user.photoUrl, favouriteImage, 10f);
|
||||
FeedUtils.imageLoader.displayImage(user.photoUrl, favouriteImage, 10f);
|
||||
favouriteContainer.addView(favouriteImage);
|
||||
}
|
||||
}
|
||||
|
@ -153,7 +150,7 @@ public class SetupCommentSectionTask extends AsyncTask<Void, Void, Void> {
|
|||
|
||||
final UserProfile replyUser = FeedUtils.dbHelper.getUserProfile(reply.userId);
|
||||
if (replyUser != null) {
|
||||
imageLoader.displayImage(replyUser.photoUrl, replyImage);
|
||||
FeedUtils.imageLoader.displayImage(replyUser.photoUrl, replyImage);
|
||||
replyImage.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
@ -200,11 +197,11 @@ public class SetupCommentSectionTask extends AsyncTask<Void, Void, Void> {
|
|||
|
||||
UserProfile sourceUser = FeedUtils.dbHelper.getUserProfile(comment.sourceUserId);
|
||||
if (sourceUser != null) {
|
||||
imageLoader.displayImage(sourceUser.photoUrl, sourceUserImage, 10f);
|
||||
imageLoader.displayImage(userPhoto, usershareImage, 10f);
|
||||
FeedUtils.imageLoader.displayImage(sourceUser.photoUrl, sourceUserImage, 10f);
|
||||
FeedUtils.imageLoader.displayImage(userPhoto, usershareImage, 10f);
|
||||
}
|
||||
} else {
|
||||
imageLoader.displayImage(userPhoto, commentImage, 10f);
|
||||
FeedUtils.imageLoader.displayImage(userPhoto, commentImage, 10f);
|
||||
}
|
||||
|
||||
commentImage.setOnClickListener(new OnClickListener() {
|
||||
|
@ -265,7 +262,7 @@ public class SetupCommentSectionTask extends AsyncTask<Void, Void, Void> {
|
|||
if (!commentingUserIds.contains(userId)) {
|
||||
UserProfile user = FeedUtils.dbHelper.getUserProfile(userId);
|
||||
if (user != null) {
|
||||
ImageView image = ViewUtils.createSharebarImage(context, imageLoader, user.photoUrl, user.userId);
|
||||
ImageView image = ViewUtils.createSharebarImage(context, user.photoUrl, user.userId);
|
||||
sharedGrid.addView(image);
|
||||
}
|
||||
}
|
||||
|
@ -275,7 +272,7 @@ public class SetupCommentSectionTask extends AsyncTask<Void, Void, Void> {
|
|||
for (String userId : commentingUserIds) {
|
||||
UserProfile user = FeedUtils.dbHelper.getUserProfile(userId);
|
||||
if (user != null) {
|
||||
ImageView image = ViewUtils.createSharebarImage(context, imageLoader, user.photoUrl, user.userId);
|
||||
ImageView image = ViewUtils.createSharebarImage(context, user.photoUrl, user.userId);
|
||||
commentGrid.addView(image);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,40 +1,19 @@
|
|||
package com.newsblur.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.Loader;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.ItemsList;
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.activity.SocialFeedReading;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.database.MultipleFeedItemsAdapter;
|
||||
import com.newsblur.domain.SocialFeed;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.StateFilter;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
import com.newsblur.view.SocialItemViewBinder;
|
||||
|
||||
public class SocialFeedItemListFragment extends ItemListFragment {
|
||||
|
||||
private SocialFeed socialFeed;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
socialFeed = (SocialFeed) getArguments().getSerializable("social_feed");
|
||||
super.onCreate(savedInstanceState);
|
||||
getLoaderManager().initLoader(ITEMLIST_LOADER , null, this);
|
||||
}
|
||||
|
||||
public static SocialFeedItemListFragment newInstance(SocialFeed socialFeed, StateFilter currentState, DefaultFeedView defaultFeedView) {
|
||||
public static SocialFeedItemListFragment newInstance() {
|
||||
SocialFeedItemListFragment fragment = new SocialFeedItemListFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable("currentState", currentState);
|
||||
args.putSerializable("social_feed", socialFeed);
|
||||
args.putSerializable("defaultFeedView", defaultFeedView);
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
@ -51,15 +30,4 @@ public class SocialFeedItemListFragment extends ItemListFragment {
|
|||
super.onLoadFinished(loader, cursor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick_(String storyHash) {
|
||||
Intent i = new Intent(getActivity(), SocialFeedReading.class);
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, storyHash);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, getFeedSet());
|
||||
i.putExtra(Reading.EXTRA_SOCIAL_FEED, socialFeed);
|
||||
i.putExtra(ItemsList.EXTRA_STATE, currentState);
|
||||
i.putExtra(Reading.EXTRA_DEFAULT_FEED_VIEW, defaultFeedView);
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -9,7 +9,6 @@ import android.util.Log;
|
|||
|
||||
import com.google.gson.Gson;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.network.domain.LoginResponse;
|
||||
import com.newsblur.network.domain.NewsBlurResponse;
|
||||
import com.newsblur.util.AppConstants;
|
||||
|
|
|
@ -13,8 +13,6 @@ import com.google.gson.JsonArray;
|
|||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.newsblur.domain.Feed;
|
||||
import com.newsblur.domain.Folder;
|
||||
import com.newsblur.domain.SocialFeed;
|
||||
|
|
|
@ -2,9 +2,6 @@ package com.newsblur.network.domain;
|
|||
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* A generic response to an API call that only encapsuates success versus failure.
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.newsblur.serialization;
|
||||
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonDeserializationContext;
|
||||
import com.google.gson.JsonDeserializer;
|
||||
import com.google.gson.JsonElement;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.newsblur.serialization;
|
||||
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonDeserializationContext;
|
||||
import com.google.gson.JsonDeserializer;
|
||||
import com.google.gson.JsonElement;
|
||||
|
|
|
@ -9,8 +9,6 @@ import android.util.Log;
|
|||
|
||||
import com.newsblur.util.AppConstants;
|
||||
|
||||
import com.newsblur.R;
|
||||
|
||||
/**
|
||||
* First receiver in the chain that starts with the device. Simply schedules another broadcast
|
||||
* that will periodicaly start the sync service.
|
||||
|
|
|
@ -9,9 +9,7 @@ import android.database.Cursor;
|
|||
import android.os.IBinder;
|
||||
import android.os.PowerManager;
|
||||
import android.os.Process;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.NbActivity;
|
||||
|
@ -28,7 +26,6 @@ import com.newsblur.network.domain.FeedFolderResponse;
|
|||
import com.newsblur.network.domain.NewsBlurResponse;
|
||||
import com.newsblur.network.domain.StoriesResponse;
|
||||
import com.newsblur.network.domain.UnreadCountResponse;
|
||||
import com.newsblur.network.domain.UnreadStoryHashesResponse;
|
||||
import com.newsblur.util.AppConstants;
|
||||
import com.newsblur.util.FeedSet;
|
||||
import com.newsblur.util.FileCache;
|
||||
|
|
|
@ -5,8 +5,6 @@ import android.content.Context;
|
|||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import com.newsblur.R;
|
||||
|
||||
public class ServiceScheduleReceiver extends BroadcastReceiver {
|
||||
|
||||
@Override
|
||||
|
|
|
@ -7,17 +7,14 @@ import com.newsblur.network.domain.StoriesResponse;
|
|||
import com.newsblur.network.domain.UnreadStoryHashesResponse;
|
||||
import com.newsblur.util.AppConstants;
|
||||
import com.newsblur.util.DefaultFeedView;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
import com.newsblur.util.StoryOrder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.NavigableMap;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
|
||||
public class UnreadsService extends SubService {
|
||||
|
|
|
@ -214,6 +214,10 @@ public class FeedSet implements Serializable {
|
|||
return this.folderName;
|
||||
}
|
||||
|
||||
public boolean isFolder() {
|
||||
return (this.folderName != null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a flat set of feed IDs that can be passed to API calls that take raw numeric IDs or
|
||||
* social IDs prefixed with "social:". Returns an empty set for feed sets that don't track
|
||||
|
|
|
@ -25,12 +25,15 @@ import com.newsblur.service.NBSyncService;
|
|||
|
||||
public class FeedUtils {
|
||||
|
||||
// these are app-level singletons stored here for convenience. however, they
|
||||
// cannot be created lazily or via static init, they have to be created when
|
||||
// the main app context is created and it offers a reference
|
||||
public static BlurDatabaseHelper dbHelper;
|
||||
public static ImageLoader imageLoader;
|
||||
|
||||
public static void offerDB(BlurDatabaseHelper _dbHelper) {
|
||||
if (_dbHelper.isOpen()) {
|
||||
dbHelper = _dbHelper;
|
||||
}
|
||||
public static void offerInitContext(Context context) {
|
||||
dbHelper = new BlurDatabaseHelper(context);
|
||||
imageLoader = new ImageLoader(context);
|
||||
}
|
||||
|
||||
private static void triggerSync(Context c) {
|
||||
|
@ -205,8 +208,7 @@ public class FeedUtils {
|
|||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
|
||||
intent.putExtra(Intent.EXTRA_SUBJECT, Html.fromHtml(story.title));
|
||||
final String shareString = context.getResources().getString(R.string.share);
|
||||
intent.putExtra(Intent.EXTRA_TEXT, String.format(shareString, new Object[]{Html.fromHtml(story.title),
|
||||
story.permalink}));
|
||||
intent.putExtra(Intent.EXTRA_TEXT, String.format(shareString, new Object[]{Html.fromHtml(story.title), story.permalink}));
|
||||
context.startActivity(Intent.createChooser(intent, "Send using"));
|
||||
}
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@ public class PrefConstants {
|
|||
public static final String SAVED_STORIES_FOLDER_NAME = "saved_stories";
|
||||
public static final String READING_ENTER_IMMERSIVE_SINGLE_TAP = "immersive_enter_single_tap";
|
||||
|
||||
public static final String STORIES_AUTO_OPEN_FIRST = "pref_auto_open_first_unread";
|
||||
public static final String STORIES_SHOW_PREVIEWS = "pref_show_content_preview";
|
||||
|
||||
public static final String ENABLE_OFFLINE = "enable_offline";
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.newsblur.util;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
|
@ -368,6 +367,28 @@ public class PrefsUtils {
|
|||
editor.commit();
|
||||
}
|
||||
|
||||
public static DefaultFeedView getDefaultFeedView(Context context, FeedSet fs) {
|
||||
if (fs.isAllSaved()) {
|
||||
return getDefaultFeedViewForFolder(context, PrefConstants.SAVED_STORIES_FOLDER_NAME);
|
||||
} else if (fs.isGlobalShared()) {
|
||||
return getDefaultFeedViewForFolder(context, PrefConstants.GLOBAL_SHARED_STORIES_FOLDER_NAME);
|
||||
} else if (fs.isAllSocial()) {
|
||||
return getDefaultFeedViewForFolder(context, PrefConstants.ALL_SHARED_STORIES_FOLDER_NAME);
|
||||
} else if (fs.isAllNormal()) {
|
||||
return getDefaultFeedViewForFolder(context, PrefConstants.ALL_STORIES_FOLDER_NAME);
|
||||
} else if (fs.isFolder()) {
|
||||
return getDefaultFeedViewForFolder(context, fs.getFolderName());
|
||||
} else if (fs.getSingleFeed() != null) {
|
||||
return getDefaultFeedViewForFeed(context, fs.getSingleFeed());
|
||||
} else if (fs.getSingleSocialFeed() != null) {
|
||||
return getDefaultFeedViewForFeed(context, fs.getSingleSocialFeed().getKey());
|
||||
} else if (fs.isAllRead()) {
|
||||
return getDefaultFeedViewForFolder(context, PrefConstants.READ_STORIES_FOLDER_NAME);
|
||||
} else {
|
||||
return DefaultFeedView.STORY;
|
||||
}
|
||||
}
|
||||
|
||||
public static StoryOrder getStoryOrder(Context context, FeedSet fs) {
|
||||
if (fs.isAllNormal()) {
|
||||
return getStoryOrderForFolder(context, PrefConstants.ALL_STORIES_FOLDER_NAME);
|
||||
|
@ -456,6 +477,11 @@ public class PrefsUtils {
|
|||
return prefs.getBoolean(PrefConstants.STORIES_SHOW_PREVIEWS, true);
|
||||
}
|
||||
|
||||
public static boolean isAutoOpenFirstUnread(Context context) {
|
||||
SharedPreferences prefs = context.getSharedPreferences(PrefConstants.PREFERENCES, 0);
|
||||
return prefs.getBoolean(PrefConstants.STORIES_AUTO_OPEN_FIRST, false);
|
||||
}
|
||||
|
||||
public static boolean isOfflineEnabled(Context context) {
|
||||
SharedPreferences prefs = context.getSharedPreferences(PrefConstants.PREFERENCES, 0);
|
||||
return prefs.getBoolean(PrefConstants.ENABLE_OFFLINE, false);
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.newsblur.util;
|
|||
|
||||
import android.content.ContentValues;
|
||||
import android.database.Cursor;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.newsblur.activity.NbActivity;
|
||||
import com.newsblur.database.BlurDatabaseHelper;
|
||||
|
@ -10,9 +9,6 @@ import com.newsblur.database.DatabaseConstants;
|
|||
import com.newsblur.network.domain.NewsBlurResponse;
|
||||
import com.newsblur.network.APIManager;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class ReadingAction {
|
||||
|
||||
private enum ActionType {
|
||||
|
|
|
@ -8,16 +8,13 @@ import android.app.Activity;
|
|||
import android.app.ActionBar;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.PorterDuffXfermode;
|
||||
import android.graphics.RectF;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
|
@ -27,7 +24,7 @@ import android.widget.TextView;
|
|||
import android.widget.Toast;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.NewsBlurApplication;
|
||||
import com.newsblur.activity.*;
|
||||
|
||||
public class UIUtils {
|
||||
|
||||
|
@ -93,7 +90,7 @@ public class UIUtils {
|
|||
*/
|
||||
public static void setCustomActionBar(Activity activity, String imageUrl, String title) {
|
||||
ImageView iconView = setupCustomActionbar(activity, title);
|
||||
((NewsBlurApplication) activity.getApplicationContext()).getImageLoader().displayImage(imageUrl, iconView, false);
|
||||
FeedUtils.imageLoader.displayImage(imageUrl, iconView, false);
|
||||
}
|
||||
|
||||
public static void setCustomActionBar(Activity activity, int imageId, String title) {
|
||||
|
@ -166,4 +163,35 @@ public class UIUtils {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void startReadingActivity(FeedSet fs, String startingHash, Context context, boolean ignoreFilters) {
|
||||
Class activityClass;
|
||||
if (fs.isAllSaved()) {
|
||||
activityClass = SavedStoriesReading.class;
|
||||
} else if (fs.isGlobalShared()) {
|
||||
activityClass = GlobalSharedStoriesReading.class;
|
||||
} else if (fs.isAllSocial()) {
|
||||
activityClass = AllSharedStoriesReading.class;
|
||||
} else if (fs.isAllNormal()) {
|
||||
activityClass = AllStoriesReading.class;
|
||||
} else if (fs.isFolder()) {
|
||||
activityClass = FolderReading.class;
|
||||
} else if (fs.getSingleFeed() != null) {
|
||||
activityClass = FeedReading.class;
|
||||
} else if (fs.getSingleSocialFeed() != null) {
|
||||
activityClass = SocialFeedReading.class;
|
||||
} else if (fs.isAllRead()) {
|
||||
activityClass = ReadStoriesReading.class;
|
||||
} else {
|
||||
Log.e(UIUtils.class.getName(), "can't launch reading activity for unknown feedset type");
|
||||
return;
|
||||
}
|
||||
Intent i = new Intent(context, activityClass);
|
||||
i.putExtra(Reading.EXTRA_FEEDSET, fs);
|
||||
i.putExtra(Reading.EXTRA_STORY_HASH, startingHash);
|
||||
if (ignoreFilters) {
|
||||
i.putExtra(SocialFeedReading.EXTRA_IGNORE_FILTERS, true);
|
||||
}
|
||||
context.startActivity(i);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ public class ViewUtils {
|
|||
}
|
||||
}
|
||||
|
||||
public static ImageView createSharebarImage(final Context context, final ImageLoader imageLoader, final String photoUrl, final String userId) {
|
||||
public static ImageView createSharebarImage(final Context context, final String photoUrl, final String userId) {
|
||||
ImageView image = new ImageView(context);
|
||||
int imageLength = UIUtils.dp2px(context, 15);
|
||||
image.setMaxHeight(imageLength);
|
||||
|
@ -62,7 +62,7 @@ public class ViewUtils {
|
|||
image.setMaxWidth(imageLength);
|
||||
|
||||
image.setLayoutParams(imageParameters);
|
||||
imageLoader.displayImage(photoUrl, image, 10f);
|
||||
FeedUtils.imageLoader.displayImage(photoUrl, image, 10f);
|
||||
image.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
|
|
@ -11,30 +11,26 @@ import android.widget.ImageView;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.NewsBlurApplication;
|
||||
import com.newsblur.domain.UserDetails;
|
||||
import com.newsblur.domain.ActivityDetails;
|
||||
import com.newsblur.domain.ActivityDetails.Category;
|
||||
import com.newsblur.network.APIConstants;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.ImageLoader;
|
||||
import com.newsblur.util.PrefsUtils;
|
||||
|
||||
public abstract class ActivityDetailsAdapter extends ArrayAdapter<ActivityDetails> {
|
||||
|
||||
private LayoutInflater inflater;
|
||||
private ImageLoader imageLoader;
|
||||
protected final String ago;
|
||||
protected ForegroundColorSpan linkColor, contentColor, quoteColor;
|
||||
private String TAG = "ActivitiesAdapter";
|
||||
private Context context;
|
||||
protected UserDetails currentUserDetails;
|
||||
protected final boolean userIsYou;
|
||||
|
||||
public ActivityDetailsAdapter(final Context context, UserDetails user) {
|
||||
super(context, R.id.row_activity_text);
|
||||
inflater = LayoutInflater.from(context);
|
||||
imageLoader = ((NewsBlurApplication) context.getApplicationContext()).getImageLoader();
|
||||
this.context = context;
|
||||
|
||||
currentUserDetails = user;
|
||||
|
||||
|
@ -70,13 +66,13 @@ public abstract class ActivityDetailsAdapter extends ArrayAdapter<ActivityDetail
|
|||
|
||||
activityTime.setText(activity.timeSince.toUpperCase() + " " + ago);
|
||||
if (activity.category == Category.FEED_SUBSCRIPTION) {
|
||||
imageLoader.displayImage(APIConstants.S3_URL_FEED_ICONS + activity.feedId + ".png", imageView);
|
||||
FeedUtils.imageLoader.displayImage(APIConstants.S3_URL_FEED_ICONS + activity.feedId + ".png", imageView);
|
||||
} else if (activity.category == Category.SHARED_STORY) {
|
||||
imageLoader.displayImage(currentUserDetails.photoUrl, imageView, 10f);
|
||||
FeedUtils.imageLoader.displayImage(currentUserDetails.photoUrl, imageView, 10f);
|
||||
} else if (activity.category == Category.STAR) {
|
||||
imageView.setImageResource(R.drawable.clock);
|
||||
} else if (activity.user != null) {
|
||||
imageLoader.displayImage(activity.user.photoUrl, imageView);
|
||||
FeedUtils.imageLoader.displayImage(activity.user.photoUrl, imageView);
|
||||
} else {
|
||||
imageView.setImageResource(R.drawable.logo);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@ import android.widget.TextView;
|
|||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.domain.Story;
|
||||
import com.newsblur.util.StoryUtils;
|
||||
|
||||
import java.util.Date;
|
||||
|
|
|
@ -4,8 +4,6 @@ import android.content.Context;
|
|||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
|
@ -19,7 +17,6 @@ import android.widget.FrameLayout;
|
|||
|
||||
import com.newsblur.activity.Reading;
|
||||
import com.newsblur.fragment.ReadingItemFragment;
|
||||
import com.newsblur.util.AppConstants;
|
||||
|
||||
public class NewsblurWebview extends WebView {
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.newsblur.view;
|
|||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.PorterDuffXfermode;
|
||||
|
|
|
@ -9,8 +9,6 @@ import android.util.Log;
|
|||
import android.view.animation.*;
|
||||
import android.view.View;
|
||||
|
||||
import com.newsblur.R;
|
||||
|
||||
/**
|
||||
* A indeterminate loading indicator that pulses between colours. Inspired by the
|
||||
* 4.X-series impl of MaterialProgressDrawable (but platform-stable, public access,
|
||||
|
|
|
@ -11,10 +11,8 @@ import android.widget.ImageView;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.activity.NewsBlurApplication;
|
||||
import com.newsblur.database.DatabaseConstants;
|
||||
import com.newsblur.domain.Story;
|
||||
import com.newsblur.util.ImageLoader;
|
||||
import com.newsblur.util.FeedUtils;
|
||||
import com.newsblur.util.StoryUtils;
|
||||
|
||||
import java.util.Date;
|
||||
|
@ -22,12 +20,10 @@ import java.util.Date;
|
|||
public class SocialItemViewBinder implements ViewBinder {
|
||||
|
||||
private final Context context;
|
||||
private ImageLoader imageLoader;
|
||||
private boolean ignoreIntel;
|
||||
|
||||
public SocialItemViewBinder(final Context context, boolean ignoreIntel) {
|
||||
this.context = context;
|
||||
this.imageLoader = ((NewsBlurApplication) context.getApplicationContext()).getImageLoader();
|
||||
this.ignoreIntel = ignoreIntel;
|
||||
}
|
||||
|
||||
|
@ -41,7 +37,7 @@ public class SocialItemViewBinder implements ViewBinder {
|
|||
final int hasBeenRead = cursor.getInt(cursor.getColumnIndex(DatabaseConstants.STORY_READ));
|
||||
if (TextUtils.equals(cursor.getColumnName(columnIndex), DatabaseConstants.FEED_FAVICON_URL)) {
|
||||
String faviconUrl = cursor.getString(columnIndex);
|
||||
imageLoader.displayImage(faviconUrl, ((ImageView) view), true);
|
||||
FeedUtils.imageLoader.displayImage(faviconUrl, ((ImageView) view), true);
|
||||
return true;
|
||||
} else if (TextUtils.equals(columnName, DatabaseConstants.SUM_STORY_TOTAL)) {
|
||||
if (! this.ignoreIntel) {
|
||||
|
|
|
@ -6,10 +6,8 @@ import android.view.LayoutInflater;
|
|||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.util.AppConstants;
|
||||
import com.newsblur.util.StateFilter;
|
||||
|
||||
public class StateToggleButton extends LinearLayout implements OnClickListener {
|
||||
|
|
Loading…
Add table
Reference in a new issue