diff options
author | David Luhmer <david-dev@live.de> | 2019-04-08 17:34:08 +0300 |
---|---|---|
committer | David Luhmer <david-dev@live.de> | 2019-04-08 17:34:08 +0300 |
commit | 555a4d656fa25f6b068b0b4c72c037f93299e749 (patch) | |
tree | d47d4a6c260488968040ede75c3e65888d5b2674 /News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java | |
parent | 62f79242b45dbdd1b957b08935b63d008a7470b8 (diff) |
use DI for SharedPreferences
Diffstat (limited to 'News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java')
-rw-r--r-- | News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java index 7c58a910..345974c2 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderDetailFragment.java @@ -32,6 +32,8 @@ import android.os.Bundle; import android.os.Handler; import android.os.Parcelable; import android.preference.PreferenceManager; + +import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.core.view.GestureDetectorCompat; import androidx.appcompat.app.AppCompatActivity; @@ -50,6 +52,8 @@ import android.widget.Toast; import java.util.List; +import javax.inject.Inject; + import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; @@ -104,6 +108,8 @@ public class NewsReaderDetailFragment extends Fragment { private int onResumeCount = 0; private RecyclerView.OnItemTouchListener itemTouchListener; + protected @Inject SharedPreferences mPrefs; + protected DisposableObserver<List<RssItem>> SearchResultObserver = new DisposableObserver<List<RssItem>>() { @Override public void onNext(List<RssItem> rssItems) { @@ -129,8 +135,8 @@ public class NewsReaderDetailFragment extends Fragment { public NewsReaderDetailFragment() { } - public static SORT_DIRECTION getSortDirection(Context context) { - return NewsDetailActivity.getSortDirectionFromSettings(context); + public static SORT_DIRECTION getSortDirection(SharedPreferences prefs) { + return NewsDetailActivity.getSortDirectionFromSettings(prefs); } /** @@ -173,8 +179,6 @@ public class NewsReaderDetailFragment extends Fragment { public void onResume() { Log.v(TAG, "onResume called!"); - SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); - mMarkAsReadWhileScrollingEnabled = mPrefs.getBoolean(SettingsActivity.CB_MARK_AS_READ_WHILE_SCROLLING_STRING, false); //When the fragment is instantiated by the xml file, onResume will be called twice @@ -256,14 +260,14 @@ public class NewsReaderDetailFragment extends Fragment { }; mainHandler.post(myRunnable); - return Search.PerformSearch(getActivity(), idFolder, idFeed, searchString); + return Search.PerformSearch(getActivity(), idFolder, idFeed, searchString, mPrefs); } void loadRssItemsIntoView(List<RssItem> rssItems) { try { NewsListRecyclerAdapter nra = ((NewsListRecyclerAdapter) recyclerView.getAdapter()); if (nra == null) { - nra = new NewsListRecyclerAdapter(getActivity(), recyclerView, (PodcastFragmentActivity) getActivity(), ((PodcastFragmentActivity) getActivity()).mPostDelayHandler); + nra = new NewsListRecyclerAdapter(getActivity(), recyclerView, (PodcastFragmentActivity) getActivity(), ((PodcastFragmentActivity) getActivity()).mPostDelayHandler, mPrefs); recyclerView.setAdapter(nra); } @@ -400,10 +404,13 @@ public class NewsReaderDetailFragment extends Fragment { @Override public void onInflate(Context context, AttributeSet attrs, Bundle savedInstanceState) { super.onInflate(context, attrs, savedInstanceState); + + ((NewsReaderApplication) getActivity().getApplication()).getAppComponent().injectFragment(this); + TypedArray a = context.obtainStyledAttributes(attrs, new int[]{R.attr.markasreadDrawable, R.attr.starredDrawable, R.attr.colorAccent}); markAsReadDrawable = a.getDrawable(0); starredDrawable = a.getDrawable(1); - int color = Constants.isNextCloud(getContext()) ? R.color.nextcloudBlue : R.color.owncloudBlue; + int color = Constants.isNextCloud(mPrefs) ? R.color.nextcloudBlue : R.color.owncloudBlue; accentColor = a.getColor(2, ContextCompat.getColor(context, color)); a.recycle(); } @@ -444,8 +451,7 @@ public class NewsReaderDetailFragment extends Fragment { @Override protected List<RssItem> doInBackground(Void... voids) { DatabaseConnectionOrm dbConn = new DatabaseConnectionOrm(context); - SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(context); - SORT_DIRECTION sortDirection = getSortDirection(context); + SORT_DIRECTION sortDirection = getSortDirection(mPrefs); boolean onlyUnreadItems = mPrefs.getBoolean(SettingsActivity.CB_SHOWONLYUNREAD_STRING, false); boolean onlyStarredItems = false; if (idFolder != null && idFolder == ALL_STARRED_ITEMS.getValue()) |