From 35c8715a771765a85126aa7e456148d4e42434ba Mon Sep 17 00:00:00 2001 From: tom79 Date: Wed, 27 Feb 2019 19:17:39 +0100 Subject: [PATCH] featured tags --- .../fr/gouv/etalab/mastodon/client/API.java | 13 +++++++ .../mastodon/fragments/SettingsFragment.java | 38 +++++++++++++++++++ .../gouv/etalab/mastodon/helper/Helper.java | 1 + .../res/layout-sw600dp/fragment_settings.xml | 28 ++++++++++++-- app/src/main/res/layout/fragment_settings.xml | 28 +++++++++++++- app/src/main/res/values/strings.xml | 1 + 6 files changed, 104 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java index 6d98b2a04..0ae88a1a9 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java @@ -39,6 +39,7 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Set; import fr.gouv.etalab.mastodon.R; import fr.gouv.etalab.mastodon.activities.MainActivity; @@ -548,6 +549,18 @@ public class API { params.put("pinned", Boolean.toString(true)); params.put("exclude_replies", Boolean.toString(exclude_replies)); params.put("limit", String.valueOf(limit)); + if( MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON){ + final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); + Set featuredTagsSet = sharedpreferences.getStringSet(Helper.SET_FEATURED_TAGS, null); + if( featuredTagsSet != null && featuredTagsSet.size() > 0){ + List tags = new ArrayList<>(featuredTagsSet); + StringBuilder parameters = new StringBuilder(); + for(String tag: tags) + parameters.append("tagged[]=").append(tag).append("&"); + parameters = new StringBuilder(parameters.substring(0, parameters.length() - 1).substring(9)); + params.put("tagged[]", parameters.toString()); + } + } statuses = new ArrayList<>(); try { HttpsConnection httpsConnection = new HttpsConnection(context); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java index 4acccc07d..824ccca80 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java @@ -54,6 +54,7 @@ import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; +import com.google.common.collect.ImmutableSet; import com.tonyodev.fetch2.Download; import com.tonyodev.fetch2.Error; import com.tonyodev.fetch2.Fetch; @@ -72,16 +73,20 @@ import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import java.util.Set; import es.dmoral.toasty.Toasty; import fr.gouv.etalab.mastodon.R; import fr.gouv.etalab.mastodon.activities.MainActivity; +import fr.gouv.etalab.mastodon.asynctasks.UpdateAccountInfoAsyncTask; import fr.gouv.etalab.mastodon.client.Entities.Account; import fr.gouv.etalab.mastodon.helper.Helper; import fr.gouv.etalab.mastodon.sqlite.AccountDAO; import fr.gouv.etalab.mastodon.sqlite.DomainBlockDAO; import fr.gouv.etalab.mastodon.sqlite.Sqlite; +import mabbas007.tagsedittext.TagsEditText; import static android.app.Activity.RESULT_OK; import static fr.gouv.etalab.mastodon.helper.Helper.BACK_TO_SETTINGS; @@ -187,6 +192,39 @@ public class SettingsFragment extends Fragment { } }); + TagsEditText set_featured_tags = rootView.findViewById(R.id.set_featured_tags); + if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON){ + Set featuredTagsSet = sharedpreferences.getStringSet(Helper.SET_FEATURED_TAGS, null); + + + List tags = new ArrayList<>(); + if( featuredTagsSet != null){ + tags = new ArrayList<>(featuredTagsSet); + } + String[] tagsString = tags.toArray(new String[tags.size()]); + set_featured_tags.setTags(tagsString); + + set_featured_tags.setTagsListener(new TagsEditText.TagsEditListener() { + @Override + public void onTagsChanged(Collection collection) { + Set set = ImmutableSet.copyOf(collection); + SharedPreferences.Editor editor = sharedpreferences.edit(); + editor.putStringSet(Helper.SET_FEATURED_TAGS, set); + editor.apply(); + } + + @Override + public void onEditingFinished() { + + } + }); + }else{ + set_featured_tags.setVisibility(View.GONE); + } + + + + Button update_tracking_domains = rootView.findViewById(R.id.update_tracking_domains); update_tracking_domains.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java index 999878f53..770dcac32 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java @@ -304,6 +304,7 @@ public class Helper { public static final String SET_DEFAULT_LOCALE_NEW = "set_default_locale_new"; public static final String SET_NOTIFICATION_ACTION = "set_notification_action"; public static final String SET_DISPLAY_CONTENT_AFTER_FM = "set_display_content_after_fm"; + public static final String SET_FEATURED_TAGS ="set_featured_tags"; public static final int S_NO = 0; static final int S_512KO = 1; public static final int S_1MO = 2; diff --git a/app/src/main/res/layout-sw600dp/fragment_settings.xml b/app/src/main/res/layout-sw600dp/fragment_settings.xml index b2ee90b3c..c3061dfac 100644 --- a/app/src/main/res/layout-sw600dp/fragment_settings.xml +++ b/app/src/main/res/layout-sw600dp/fragment_settings.xml @@ -15,9 +15,9 @@ You should have received a copy of the GNU General Public License along with Mastalab; if not, see . --> - - + + + + + . --> - + + + + + + List of blocked calls Submit The data base has been exported! + Featured hashtags