added filtered buttons for profile #767
This commit is contained in:
@@ -46,15 +46,17 @@ public class MenuBuilder {
|
||||
cfambObject = CommunityFragmentActionsMenuBuilder.class.getDeclaredField("b");
|
||||
cfambObject.setAccessible(true);
|
||||
} catch (NoSuchFieldException | NoSuchMethodException e) {
|
||||
Log.e("VTLite", "Reflection failed");
|
||||
Log.e("MenuBuilder", "Reflection failed");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void injectAP(final ProfileFragmentActionsMenuBuilder mb, final ActionsPopup.b builder) {
|
||||
try {
|
||||
final ExtendedUserProfile eup = (ExtendedUserProfile) pfambObject.get(mb);
|
||||
final Context ctx = ((View) Objects.requireNonNull(apView.get(builder))).getContext();
|
||||
ExtendedUserProfile eup = (ExtendedUserProfile) pfambObject.get(mb);
|
||||
Context ctx = ((View) Objects.requireNonNull(apView.get(builder))).getContext();
|
||||
boolean isPageWhitelistedFilter = isWhitelistedFilter(eup);
|
||||
boolean isPageWhitelistedAdsStories = isWhitelistedAdStories(eup);
|
||||
addItem(builder, AndroidUtils.getString(R.string.menu_copy_id), () -> {
|
||||
copy(ctx, String.valueOf(AccountManagerUtils.getUserID(eup)));
|
||||
return Unit.a;
|
||||
@@ -70,6 +72,17 @@ public class MenuBuilder {
|
||||
// return Unit.a;
|
||||
// });
|
||||
|
||||
addItem(builder, AndroidUtils.getString(isPageWhitelistedFilter ? R.string.remove_from_filter_whitelist : R.string.add_to_filter_whitelist), () -> {
|
||||
setWhitelistedFilter(eup, !isPageWhitelistedFilter);
|
||||
AndroidUtils.sendToast(AndroidUtils.getString(isPageWhitelistedFilter ? R.string.removed_from_whitelist_success : R.string.added_to_whitelist_success));
|
||||
return Unit.a;
|
||||
});
|
||||
|
||||
addItem(builder, AndroidUtils.getString(isPageWhitelistedAdsStories ? R.string.remove_from_ads_stories_whitelist : R.string.add_to_ads_stories_whitelist), () -> {
|
||||
setWhitelistedAdStories(eup, !isPageWhitelistedAdsStories);
|
||||
AndroidUtils.sendToast(AndroidUtils.getString(isPageWhitelistedAdsStories ? R.string.removed_from_whitelist_success : R.string.added_to_whitelist_success));
|
||||
return Unit.a;
|
||||
});
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -77,11 +90,11 @@ public class MenuBuilder {
|
||||
|
||||
public static void injectAP(final CommunityFragmentActionsMenuBuilder mb, final ActionsPopup.b builder) {
|
||||
try {
|
||||
final ExtendedCommunityProfile ecp = (ExtendedCommunityProfile) cfambObject.get(mb);
|
||||
final Context ctx = ((View) apView.get(builder)).getContext();
|
||||
final boolean isPageWhitelistedFilter = isWhitelistedFilter(ecp);
|
||||
final boolean isPageWhitelistedAds = isWhitelistedAd(ecp);
|
||||
final boolean isPageWhitelistedAdsStories = isWhitelistedAdStories(ecp);
|
||||
ExtendedCommunityProfile ecp = (ExtendedCommunityProfile) cfambObject.get(mb);
|
||||
Context ctx = ((View) apView.get(builder)).getContext();
|
||||
boolean isPageWhitelistedFilter = isWhitelistedFilter(ecp);
|
||||
boolean isPageWhitelistedAds = isWhitelistedAd(ecp);
|
||||
boolean isPageWhitelistedAdsStories = isWhitelistedAdStories(ecp);
|
||||
|
||||
addItem(builder, AndroidUtils.getString(R.string.menu_copy_id), () -> {
|
||||
copy(ctx, String.valueOf(AccountManagerUtils.getUserID(ecp)));
|
||||
@@ -110,7 +123,6 @@ public class MenuBuilder {
|
||||
AndroidUtils.sendToast(AndroidUtils.getString(isPageWhitelistedAdsStories ? R.string.removed_from_whitelist_success : R.string.added_to_whitelist_success));
|
||||
return Unit.a;
|
||||
});
|
||||
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -148,6 +160,19 @@ public class MenuBuilder {
|
||||
).contains(String.valueOf(AccountManagerUtils.getUserID(eup)));
|
||||
}
|
||||
|
||||
public static boolean isWhitelistedFilter(ExtendedUserProfile eup) {
|
||||
return Preferences.getPreferences().getStringSet(
|
||||
"whitelisted_filters_groups", Collections.emptySet()
|
||||
).contains(String.valueOf(AccountManagerUtils.getUserID(eup)));
|
||||
}
|
||||
|
||||
public static boolean isWhitelistedAdStories(ExtendedUserProfile eup) {
|
||||
return Preferences.getPreferences().getStringSet(
|
||||
"whitelisted_stories_ad",
|
||||
Collections.emptySet()
|
||||
).contains(String.valueOf(AccountManagerUtils.getUserID(eup)));
|
||||
}
|
||||
|
||||
public static void setWhitelistedFilter(ExtendedCommunityProfile eup, boolean needWhitelist) {
|
||||
var id = String.valueOf(AccountManagerUtils.getUserID(eup));
|
||||
|
||||
@@ -195,4 +220,36 @@ public class MenuBuilder {
|
||||
|
||||
Preferences.getPreferences().edit().putStringSet("whitelisted_stories_ad", mutableAdsSet).apply();
|
||||
}
|
||||
|
||||
public static void setWhitelistedFilter(ExtendedUserProfile eup, boolean needWhitelist) {
|
||||
var id = String.valueOf(AccountManagerUtils.getUserID(eup));
|
||||
|
||||
var mutableAdsSet = new LinkedHashSet<>(Preferences.getPreferences().getStringSet(
|
||||
"whitelisted_filters_groups",
|
||||
Collections.emptySet())
|
||||
);
|
||||
if (needWhitelist) {
|
||||
mutableAdsSet.add(id);
|
||||
} else {
|
||||
mutableAdsSet.remove(id);
|
||||
}
|
||||
|
||||
Preferences.getPreferences().edit().putStringSet("whitelisted_filters_groups", mutableAdsSet).apply();
|
||||
}
|
||||
|
||||
public static void setWhitelistedAdStories(ExtendedUserProfile eup, boolean needWhitelist) {
|
||||
var id = String.valueOf(AccountManagerUtils.getUserID(eup));
|
||||
|
||||
var mutableAdsSet = new LinkedHashSet<>(Preferences.getPreferences().getStringSet(
|
||||
"whitelisted_stories_ad",
|
||||
Collections.emptySet()));
|
||||
|
||||
if (needWhitelist) {
|
||||
mutableAdsSet.add(id);
|
||||
} else {
|
||||
mutableAdsSet.remove(id);
|
||||
}
|
||||
|
||||
Preferences.getPreferences().edit().putStringSet("whitelisted_stories_ad", mutableAdsSet).apply();
|
||||
}
|
||||
}
|
||||
@@ -6823,8 +6823,8 @@
|
||||
<string name="remove_from_ads_whitelist">Выдаліць з вайтліста рэкламы</string>
|
||||
<string name="add_to_ads_stories_whitelist">Дадаць у вайтліст гісторый</string>
|
||||
<string name="remove_from_ads_stories_whitelist">Выдаліць з вайтліста гісторый</string>
|
||||
<string name="removed_from_whitelist_success">Група выдалена з вайтліста</string>
|
||||
<string name="added_to_whitelist_success">Група дададзена ў вайтліст</string>
|
||||
<string name="removed_from_whitelist_success">Выдаленая з вайтлиста</string>
|
||||
<string name="added_to_whitelist_success">Дададзена ў вайтліст</string>
|
||||
<string name="whitelisted_ad_groups_title">Вайтліст рэкламы</string>
|
||||
|
||||
<string name="whitelisted_ad_groups_stories_title">Вайтліст рэкламы гісторый</string>
|
||||
|
||||
@@ -6191,8 +6191,8 @@
|
||||
<string name="remove_from_ads_whitelist">Удалить из вайтлиста рекламы</string>
|
||||
<string name="add_to_ads_stories_whitelist">Добавить в вайтлист историй</string>
|
||||
<string name="remove_from_ads_stories_whitelist">Удалить из вайтлиста историй</string>
|
||||
<string name="removed_from_whitelist_success">Группа удалена из вайтлиста</string>
|
||||
<string name="added_to_whitelist_success">Группа добавлена в вайтлист</string>
|
||||
<string name="removed_from_whitelist_success">Удалено из вайтлиста</string>
|
||||
<string name="added_to_whitelist_success">Добавлено в вайтлист</string>
|
||||
|
||||
<string name="whitelisted_ad_groups_title">Вайтлист рекламы</string>
|
||||
<string name="whitelisted_filters_groups_title">Вайтлист фильтров и источников</string>
|
||||
|
||||
@@ -6116,8 +6116,8 @@
|
||||
<string name="remove_from_ads_whitelist">Видалити з вайтліста реклами</string>
|
||||
<string name="add_to_ads_stories_whitelist">Додати до вайтліста історій</string>
|
||||
<string name="remove_from_ads_stories_whitelist">Видалити з вайтліста історій</string>
|
||||
<string name="removed_from_whitelist_success">Група видалена з вайтліста</string>
|
||||
<string name="added_to_whitelist_success">Група додана до вайтліста</string>
|
||||
<string name="removed_from_whitelist_success">Видалена з вайтліста</string>
|
||||
<string name="added_to_whitelist_success">Додана до вайтліста</string>
|
||||
|
||||
<string name="whitelisted_ad_groups_title">Вайтліст реклами</string>
|
||||
<string name="whitelisted_filters_groups_title">Вайтліст фільтрів та джерел</string>
|
||||
|
||||
@@ -6329,8 +6329,8 @@ May look like a fake leaving the online"</string>
|
||||
<string name="remove_from_ads_stories_whitelist">Remove from stories whitelist</string>
|
||||
<string name="add_to_ads_whitelist">Add to ads stories whitelist</string>
|
||||
<string name="remove_from_ads_whitelist">Remove from ads stories whitelist</string>
|
||||
<string name="removed_from_whitelist_success">Group removed from whitelist</string>
|
||||
<string name="added_to_whitelist_success">Group added to whitelist</string>
|
||||
<string name="removed_from_whitelist_success">Removed from whitelist</string>
|
||||
<string name="added_to_whitelist_success">Added to whitelist</string>
|
||||
|
||||
<string name="whitelisted_ad_groups_title">Ads whitelist</string>
|
||||
<string name="whitelisted_filters_groups_title">Filters whitelist and copyrights</string>
|
||||
|
||||
Reference in New Issue
Block a user