|
30 | 30 | import org.quantumbadger.redreader.R; |
31 | 31 | import org.quantumbadger.redreader.activities.OptionsMenuUtility; |
32 | 32 | import org.quantumbadger.redreader.adapters.MainMenuListingManager; |
| 33 | +import org.quantumbadger.redreader.common.collections.CollectionStream; |
33 | 34 | import org.quantumbadger.redreader.common.time.TimeDuration; |
34 | 35 | import org.quantumbadger.redreader.fragments.MainMenuFragment; |
35 | 36 | import org.quantumbadger.redreader.io.WritableHashSet; |
|
44 | 45 |
|
45 | 46 | import java.io.File; |
46 | 47 | import java.util.ArrayList; |
| 48 | +import java.util.Collections; |
47 | 49 | import java.util.EnumMap; |
48 | 50 | import java.util.EnumSet; |
49 | 51 | import java.util.HashMap; |
@@ -770,6 +772,12 @@ public static boolean pref_behaviour_skiptofrontpage() { |
770 | 772 | false); |
771 | 773 | } |
772 | 774 |
|
| 775 | + public static boolean pref_behaviour_skiptopinned() { |
| 776 | + return getBoolean( |
| 777 | + R.string.pref_behaviour_skiptopinned_key, |
| 778 | + false); |
| 779 | + } |
| 780 | + |
773 | 781 | public static boolean pref_behaviour_useinternalbrowser() { |
774 | 782 | return getBoolean( |
775 | 783 | R.string.pref_behaviour_useinternalbrowser_key, |
@@ -1591,8 +1599,27 @@ public static boolean pref_menus_quick_account_switcher() { |
1591 | 1599 | // pref_pinned_subreddits |
1592 | 1600 | /////////////////////////////// |
1593 | 1601 |
|
1594 | | - public static List<SubredditCanonicalId> pref_pinned_subreddits() { |
1595 | | - return pref_subreddits_list(R.string.pref_pinned_subreddits_key); |
| 1602 | + public static List<SubredditCanonicalId> pref_pinned_subreddits(final boolean sort) { |
| 1603 | + final List<SubredditCanonicalId> list |
| 1604 | + = pref_subreddits_list(R.string.pref_pinned_subreddits_key); |
| 1605 | + if(sort) { |
| 1606 | + final PinnedSubredditSort pinnedSubredditsSort = pref_behaviour_pinned_subredditsort(); |
| 1607 | + if(pinnedSubredditsSort == PinnedSubredditSort.NAME) { |
| 1608 | + Collections.sort(list); |
| 1609 | + } |
| 1610 | + } |
| 1611 | + return list; |
| 1612 | + } |
| 1613 | + |
| 1614 | + public static String pref_pinned_subreddits_multireddit() { |
| 1615 | + final List<String> pinnedSubreddits = new CollectionStream<>(pref_pinned_subreddits(true)) |
| 1616 | + .map(SubredditCanonicalId::getDisplayNameLowercase) |
| 1617 | + .collect(new ArrayList<>()); |
| 1618 | + return StringUtils.join(pinnedSubreddits, "+"); |
| 1619 | + } |
| 1620 | + |
| 1621 | + public static boolean pref_pinned_subreddits_is_empty() { |
| 1622 | + return pref_subreddits_is_empty(R.string.pref_pinned_subreddits_key); |
1596 | 1623 | } |
1597 | 1624 |
|
1598 | 1625 | public static void pref_pinned_subreddits_add( |
@@ -1625,7 +1652,7 @@ public static void pref_pinned_subreddits_remove( |
1625 | 1652 |
|
1626 | 1653 | public static boolean pref_pinned_subreddits_check(final SubredditCanonicalId id) { |
1627 | 1654 |
|
1628 | | - return pref_pinned_subreddits().contains(id); |
| 1655 | + return pref_pinned_subreddits(false).contains(id); |
1629 | 1656 | } |
1630 | 1657 |
|
1631 | 1658 | /////////////////////////////// |
@@ -1728,6 +1755,11 @@ public static List<SubredditCanonicalId> pref_subreddits_list(final int prefId) |
1728 | 1755 | return result; |
1729 | 1756 | } |
1730 | 1757 |
|
| 1758 | + public static boolean pref_subreddits_is_empty(final int prefId) { |
| 1759 | + final String value = getString(prefId, ""); |
| 1760 | + return value.isEmpty(); |
| 1761 | + } |
| 1762 | + |
1731 | 1763 | public static boolean pref_accessibility_separate_body_text_lines() { |
1732 | 1764 | return getBoolean( |
1733 | 1765 | R.string.pref_accessibility_separate_body_text_lines_key, |
|
0 commit comments