mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Add global preferences for story order and read filter
This commit is contained in:
parent
ca35c1708a
commit
4db7094e08
8 changed files with 87 additions and 9 deletions
|
@ -72,6 +72,10 @@
|
|||
android:name=".activity.Profile"
|
||||
android:label="@string/profile"/>
|
||||
|
||||
<activity
|
||||
android:name=".activity.Settings"
|
||||
android:label="@string/settings"/>
|
||||
|
||||
<activity
|
||||
android:name=".activity.FeedItemsList" />
|
||||
|
||||
|
|
22
media/android/NewsBlur/res/layout/activity_settings.xml
Normal file
22
media/android/NewsBlur/res/layout/activity_settings.xml
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<PreferenceCategory
|
||||
android:title="@string/settings_default_story_order">
|
||||
<ListPreference
|
||||
android:key="default_story_order"
|
||||
android:title="@string/menu_story_order"
|
||||
android:dialogTitle="@string/menu_story_order"
|
||||
android:entries="@array/default_story_order_entries"
|
||||
android:entryValues="@array/default_story_order_values"
|
||||
android:defaultValue="@string/default_story_order_value" />
|
||||
|
||||
<ListPreference
|
||||
android:key="default_read_filter"
|
||||
android:title="@string/menu_read_filter"
|
||||
android:dialogTitle="@string/menu_read_filter"
|
||||
android:entries="@array/default_read_filter_entries"
|
||||
android:entryValues="@array/default_read_filter_values"
|
||||
android:defaultValue="@string/default_read_filter_value" />
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
|
@ -15,6 +15,10 @@
|
|||
android:title="@string/menu_add_feed"
|
||||
android:showAsAction="never" />
|
||||
|
||||
<item android:id="@+id/menu_settings"
|
||||
android:title="@string/settings"
|
||||
android:showAsAction="never" />
|
||||
|
||||
<item android:id="@+id/menu_logout"
|
||||
android:title="@string/menu_logout"
|
||||
android:showAsAction="never" />
|
||||
|
|
|
@ -142,4 +142,25 @@
|
|||
<string name="all_stories">All Stories</string>
|
||||
<string name="unread_only">Unread Only</string>
|
||||
<string name="menu_read_filter">Read Filter</string>
|
||||
|
||||
<string name="settings">Settings</string>
|
||||
<string name="settings_default_story_order">Default Story Order</string>
|
||||
<string-array name="default_story_order_entries">
|
||||
<item>@string/newest</item>
|
||||
<item>@string/oldest</item>
|
||||
</string-array>
|
||||
<string-array name="default_story_order_values">
|
||||
<item>NEWEST</item>
|
||||
<item>OLDEST</item>
|
||||
</string-array>
|
||||
<string name="default_story_order_value">NEWEST</string>
|
||||
<string-array name="default_read_filter_entries">
|
||||
<item>@string/all_stories</item>
|
||||
<item>@string/unread_only</item>
|
||||
</string-array>
|
||||
<string-array name="default_read_filter_values">
|
||||
<item>ALL</item>
|
||||
<item>UNREAD</item>
|
||||
</string-array>
|
||||
<string name="default_read_filter_value">ALL</string>
|
||||
</resources>
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.newsblur.activity;
|
|||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.util.Log;
|
||||
|
@ -32,6 +33,7 @@ public class Main extends NbFragmentActivity implements StateChangedListener, Sy
|
|||
public void onCreate(Bundle savedInstanceState) {
|
||||
|
||||
PrefsUtils.checkForUpgrade(this);
|
||||
PreferenceManager.setDefaultValues(this, R.layout.activity_settings, false);
|
||||
|
||||
requestWindowFeature(Window.FEATURE_PROGRESS);
|
||||
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
|
||||
|
@ -125,7 +127,11 @@ public class Main extends NbFragmentActivity implements StateChangedListener, Sy
|
|||
} else if (item.getItemId() == R.id.menu_logout) {
|
||||
DialogFragment newFragment = new LogoutDialogFragment();
|
||||
newFragment.show(getSupportFragmentManager(), "dialog");
|
||||
}
|
||||
} else if (item.getItemId() == R.id.menu_settings) {
|
||||
Intent settingsIntent = new Intent(this, Settings.class);
|
||||
startActivity(settingsIntent);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
package com.newsblur.activity;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockPreferenceActivity;
|
||||
import com.newsblur.R;
|
||||
import com.newsblur.util.PrefConstants;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
public class Settings extends SherlockPreferenceActivity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
super.getPreferenceManager().setSharedPreferencesName(PrefConstants.PREFERENCES);
|
||||
addPreferencesFromResource(R.layout.activity_settings);
|
||||
}
|
||||
|
||||
}
|
|
@ -33,4 +33,7 @@ public class PrefConstants {
|
|||
public static final String FOLDER_READ_FILTER_PREFIX = "folder_read_filter_";
|
||||
public static final String ALL_STORIES_FOLDER_NAME = "all_stories";
|
||||
public static final String ALL_SHARED_STORIES_FOLDER_NAME = "all_shared_stories";
|
||||
|
||||
public static final String DEFAULT_STORY_ORDER = "default_story_order";
|
||||
public static final String DEFAULT_READ_FILTER = "default_read_filter";
|
||||
}
|
||||
|
|
|
@ -181,22 +181,22 @@ public class PrefsUtils {
|
|||
|
||||
public static StoryOrder getStoryOrderForFeed(Context context, String feedId) {
|
||||
SharedPreferences prefs = context.getSharedPreferences(PrefConstants.PREFERENCES, 0);
|
||||
return StoryOrder.valueOf(prefs.getString(PrefConstants.FEED_STORY_ORDER_PREFIX + feedId, getDefaultStoryOrder().toString()));
|
||||
return StoryOrder.valueOf(prefs.getString(PrefConstants.FEED_STORY_ORDER_PREFIX + feedId, getDefaultStoryOrder(prefs).toString()));
|
||||
}
|
||||
|
||||
public static StoryOrder getStoryOrderForFolder(Context context, String folderName) {
|
||||
SharedPreferences prefs = context.getSharedPreferences(PrefConstants.PREFERENCES, 0);
|
||||
return StoryOrder.valueOf(prefs.getString(PrefConstants.FOLDER_STORY_ORDER_PREFIX + folderName, getDefaultStoryOrder().toString()));
|
||||
return StoryOrder.valueOf(prefs.getString(PrefConstants.FOLDER_STORY_ORDER_PREFIX + folderName, getDefaultStoryOrder(prefs).toString()));
|
||||
}
|
||||
|
||||
public static ReadFilter getReadFilterForFeed(Context context, String feedId) {
|
||||
SharedPreferences prefs = context.getSharedPreferences(PrefConstants.PREFERENCES, 0);
|
||||
return ReadFilter.valueOf(prefs.getString(PrefConstants.FEED_READ_FILTER_PREFIX + feedId, getDefaultReadFilter().toString()));
|
||||
return ReadFilter.valueOf(prefs.getString(PrefConstants.FEED_READ_FILTER_PREFIX + feedId, getDefaultReadFilter(prefs).toString()));
|
||||
}
|
||||
|
||||
public static ReadFilter getReadFilterForFolder(Context context, String folderName) {
|
||||
SharedPreferences prefs = context.getSharedPreferences(PrefConstants.PREFERENCES, 0);
|
||||
return ReadFilter.valueOf(prefs.getString(PrefConstants.FOLDER_READ_FILTER_PREFIX + folderName, getDefaultReadFilter().toString()));
|
||||
return ReadFilter.valueOf(prefs.getString(PrefConstants.FOLDER_READ_FILTER_PREFIX + folderName, getDefaultReadFilter(prefs).toString()));
|
||||
}
|
||||
|
||||
public static void setStoryOrderForFolder(Context context, String folderName, StoryOrder newValue) {
|
||||
|
@ -227,11 +227,11 @@ public class PrefsUtils {
|
|||
editor.commit();
|
||||
}
|
||||
|
||||
public static StoryOrder getDefaultStoryOrder() {
|
||||
return StoryOrder.NEWEST;
|
||||
private static StoryOrder getDefaultStoryOrder(SharedPreferences prefs) {
|
||||
return StoryOrder.valueOf(prefs.getString(PrefConstants.DEFAULT_STORY_ORDER, StoryOrder.NEWEST.toString()));
|
||||
}
|
||||
|
||||
public static ReadFilter getDefaultReadFilter() {
|
||||
return ReadFilter.ALL;
|
||||
private static ReadFilter getDefaultReadFilter(SharedPreferences prefs) {
|
||||
return ReadFilter.valueOf(prefs.getString(PrefConstants.DEFAULT_READ_FILTER, ReadFilter.ALL.toString()));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue