Save all/unread/focus selection across app open/close (#633)

This commit is contained in:
Mark Anderson 2014-12-14 22:36:10 +00:00
parent 6661d4e03c
commit b05c7dd902
4 changed files with 19 additions and 12 deletions

View file

@ -6,20 +6,12 @@ import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeMap;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.ContentObserver;
import android.database.Cursor;
import android.database.DataSetObserver;
import android.net.Uri;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@ -65,10 +57,11 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
private LayoutInflater inflater;
private ImageLoader imageLoader;
private StateFilter currentState = StateFilter.SOME;
private StateFilter currentState;
public FolderListAdapter(Context context) {
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);
}

View file

@ -37,6 +37,7 @@ import com.newsblur.util.AppConstants;
import com.newsblur.util.FeedSet;
import com.newsblur.util.FeedUtils;
import com.newsblur.util.PrefConstants;
import com.newsblur.util.PrefsUtils;
import com.newsblur.util.StateFilter;
import com.newsblur.util.UIUtils;
@ -55,7 +56,8 @@ public class FolderListFragment extends NbFragment implements OnGroupClickListen
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
adapter = new FolderListAdapter(getActivity());
currentState = PrefsUtils.getStateFilter(getActivity());
adapter = new FolderListAdapter(getActivity(), currentState);
}
@Override
@ -224,6 +226,7 @@ public class FolderListFragment extends NbFragment implements OnGroupClickListen
public void changeState(StateFilter state) {
currentState = state;
PrefsUtils.setStateFilter(getActivity(), state);
adapter.changeState(state);
hasUpdated();
}

View file

@ -57,4 +57,5 @@ public class PrefConstants {
public static final String THEME = "theme";
public static final String STATE_FILTER = "state_filter";
}

View file

@ -8,7 +8,6 @@ import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import android.app.Activity;
@ -465,4 +464,15 @@ public class PrefsUtils {
return theme.equals("light");
}
public static StateFilter getStateFilter(Context context) {
SharedPreferences prefs = context.getSharedPreferences(PrefConstants.PREFERENCES, 0);
return StateFilter.valueOf(prefs.getString(PrefConstants.STATE_FILTER, StateFilter.SOME.toString()));
}
public static void setStateFilter(Context context, StateFilter newValue) {
SharedPreferences prefs = context.getSharedPreferences(PrefConstants.PREFERENCES, 0);
Editor editor = prefs.edit();
editor.putString(PrefConstants.STATE_FILTER, newValue.toString());
editor.commit();
}
}