From d2b0ffc69db149bd8dfe6d6712e941adea9b530d Mon Sep 17 00:00:00 2001 From: misaochan Date: Sun, 18 Mar 2018 18:26:13 +1000 Subject: [PATCH] Add directPrefs injection and obtain CategoryItem for direct cats --- .../category/CategorizationFragment.java | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java b/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java index a014830bb..70fc2885a 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java @@ -70,9 +70,19 @@ public class CategorizationFragment extends CommonsDaggerSupportFragment { @BindView(R.id.categoriesExplanation) TextView categoriesSkip; - @Inject MediaWikiApi mwApi; - @Inject @Named("default_preferences") SharedPreferences prefs; - @Inject CategoryDao categoryDao; + @Inject + MediaWikiApi mwApi; + @Inject + @Named("default_preferences") + SharedPreferences prefs; + @Inject + @Named("prefs") + SharedPreferences prefsPrefs; + @Inject + @Named("direct_nearby_upload_prefs") + SharedPreferences directPrefs; + @Inject + CategoryDao categoryDao; private RVRendererAdapter categoriesAdapter; private OnCategoriesSaveHandler onCategoriesSaveHandler; @@ -127,7 +137,7 @@ public class CategorizationFragment extends CommonsDaggerSupportFragment { } public void hideKeyboard(View view) { - InputMethodManager inputMethodManager =(InputMethodManager)getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE); + InputMethodManager inputMethodManager = (InputMethodManager) getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); } @@ -222,7 +232,7 @@ public class CategorizationFragment extends CommonsDaggerSupportFragment { .observeOn(AndroidSchedulers.mainThread()) .subscribe( s -> categoriesAdapter.add(s), - Timber::e, + Timber::e, () -> { categoriesAdapter.notifyDataSetChanged(); categoriesSearchInProgress.setVisibility(View.GONE); @@ -259,12 +269,21 @@ public class CategorizationFragment extends CommonsDaggerSupportFragment { private Observable defaultCategories() { return gpsCategories() .concatWith(titleCategories()) - .concatWith(recentCategories()); + .concatWith(recentCategories()) + .concatWith(directCategories()); //TODO: Add category suggestions for direct uploads here } //TODO: Add category suggestions for direct uploads here - + private Observable directCategories() { + String directCategory = directPrefs.getString("Category", ""); + Timber.d("Direct category found: " + directCategory); + //String[] myStringArray = {directCategory}; + List categoryList = new ArrayList<>(); + categoryList.add(directCategory); + return Observable.fromIterable(categoryList).map(name -> new CategoryItem(name, false)); + } + private Observable gpsCategories() { return Observable.fromIterable( MwVolleyApi.GpsCatExists.getGpsCatExists()