From fc643162fb784c44e8d8d5ca966bae422393d28f Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 16 Aug 2023 16:34:54 +0200 Subject: [PATCH] Hide self messages --- .../java/app/fedilab/android/BaseMainActivity.java | 12 +++++++++++- .../mastodon/helper/PinnedTimelineHelper.java | 10 ++++++++++ .../android/mastodon/ui/drawer/StatusAdapter.java | 5 +++++ .../res/menus/mastodon/menu/option_filter_toots.xml | 6 ++++++ app/src/main/res/values/strings.xml | 2 ++ .../fastlane/metadata/android/en/changelogs/499.txt | 2 +- 6 files changed, 35 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/BaseMainActivity.java index b2851453a..398a62b32 100644 --- a/app/src/main/java/app/fedilab/android/BaseMainActivity.java +++ b/app/src/main/java/app/fedilab/android/BaseMainActivity.java @@ -208,7 +208,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt public static List mainFilters; public static List filteredAccounts; public static boolean filterFetched; - public static boolean show_boosts, show_replies, show_dms, show_art_nsfw, show_self_boosts, show_self_replies; + public static boolean show_boosts, show_replies, show_dms, show_art_nsfw, show_self_boosts, show_self_replies, show_my_messages; public static String regex_home, regex_local, regex_public; public static BaseAccount currentAccount; public static iconLauncher mLauncher = iconLauncher.BUBBLES; @@ -1206,6 +1206,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt currentUserID = currentAccount.user_id; show_boosts = sharedpreferences.getBoolean(getString(R.string.SET_SHOW_BOOSTS) + currentUserID + currentInstance, true); + show_my_messages = sharedpreferences.getBoolean(getString(R.string.SET_SHOW_MY_MESSAGES) + currentUserID + currentInstance, true); show_self_boosts = sharedpreferences.getBoolean(getString(R.string.SET_SHOW_SELF_BOOSTS) + currentUserID + currentInstance, true); show_replies = sharedpreferences.getBoolean(getString(R.string.SET_SHOW_REPLIES) + currentUserID + currentInstance, true); show_self_replies = sharedpreferences.getBoolean(getString(R.string.SET_SHOW_SELF_REPLIES) + currentUserID + currentInstance, true); @@ -1540,6 +1541,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt .inflate(R.menu.option_filter_toots, popup.getMenu()); Menu menu = popup.getMenu(); final MenuItem itemShowBoosts = menu.findItem(R.id.action_show_boosts); + final MenuItem itemShowMyMessages = menu.findItem(R.id.action_show_my_messages); final MenuItem itemShowSelfBoosts = menu.findItem(R.id.action_show_self_boosts); final MenuItem itemShowDMs = menu.findItem(R.id.action_show_dms); final MenuItem itemShowReplies = menu.findItem(R.id.action_show_replies); @@ -1550,12 +1552,14 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt itemShowReplies.setVisible(false); itemShowSelfBoosts.setVisible(false); itemShowSelfReplies.setVisible(false); + itemShowMyMessages.setVisible(false); itemShowDMs.setVisible(false); } else { itemShowBoosts.setVisible(true); itemShowReplies.setVisible(true); itemShowSelfBoosts.setVisible(true); itemShowSelfReplies.setVisible(true); + itemShowMyMessages.setVisible(true); itemShowDMs.setVisible(true); } @@ -1570,6 +1574,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt } itemShowBoosts.setChecked(show_boosts); + itemShowMyMessages.setChecked(show_my_messages); itemShowReplies.setChecked(show_replies); itemShowSelfBoosts.setChecked(show_self_boosts); itemShowSelfReplies.setChecked(show_self_replies); @@ -1609,6 +1614,11 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt editor.putBoolean(getString(R.string.SET_SHOW_BOOSTS) + currentUserID + currentInstance, show_boosts); itemShowBoosts.setChecked(show_boosts); editor.apply(); + } else if (itemId == R.id.action_show_my_messages) { + show_my_messages = !show_my_messages; + editor.putBoolean(getString(R.string.SET_SHOW_MY_MESSAGES) + currentUserID + currentInstance, show_my_messages); + itemShowMyMessages.setChecked(show_my_messages); + editor.apply(); } else if (itemId == R.id.action_show_self_boosts) { show_self_boosts = !show_self_boosts; editor.putBoolean(getString(R.string.SET_SHOW_SELF_BOOSTS) + currentUserID + currentInstance, show_self_boosts); diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/PinnedTimelineHelper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/PinnedTimelineHelper.java index 61ef95c2a..1722a8b4a 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/helper/PinnedTimelineHelper.java +++ b/app/src/main/java/app/fedilab/android/mastodon/helper/PinnedTimelineHelper.java @@ -20,6 +20,7 @@ import static app.fedilab.android.BaseMainActivity.currentInstance; import static app.fedilab.android.BaseMainActivity.currentUserID; import static app.fedilab.android.BaseMainActivity.show_boosts; import static app.fedilab.android.BaseMainActivity.show_dms; +import static app.fedilab.android.BaseMainActivity.show_my_messages; import static app.fedilab.android.BaseMainActivity.show_replies; import static app.fedilab.android.BaseMainActivity.show_self_boosts; import static app.fedilab.android.BaseMainActivity.show_self_replies; @@ -635,6 +636,7 @@ public class PinnedTimelineHelper { .inflate(R.menu.option_filter_toots, popup.getMenu()); Menu menu = popup.getMenu(); final MenuItem itemShowBoosts = menu.findItem(R.id.action_show_boosts); + final MenuItem itemShowMyMessages = menu.findItem(R.id.action_show_my_messages); final MenuItem itemShowSelfBoosts = menu.findItem(R.id.action_show_self_boosts); final MenuItem itemShowReplies = menu.findItem(R.id.action_show_replies); final MenuItem itemShowSelfReplies = menu.findItem(R.id.action_show_self_replies); @@ -645,12 +647,14 @@ public class PinnedTimelineHelper { itemShowReplies.setVisible(false); itemShowSelfBoosts.setVisible(false); itemShowSelfReplies.setVisible(false); + itemShowMyMessages.setVisible(false); itemShowDMs.setVisible(false); } else { itemShowBoosts.setVisible(true); itemShowReplies.setVisible(true); itemShowSelfBoosts.setVisible(true); itemShowSelfReplies.setVisible(true); + itemShowMyMessages.setVisible(true); itemShowDMs.setVisible(true); } SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(activity); @@ -664,6 +668,7 @@ public class PinnedTimelineHelper { } itemShowBoosts.setChecked(show_boosts); + itemShowMyMessages.setChecked(show_my_messages); itemShowReplies.setChecked(show_replies); itemShowSelfBoosts.setChecked(show_self_boosts); itemShowSelfReplies.setChecked(show_self_replies); @@ -702,6 +707,11 @@ public class PinnedTimelineHelper { editor.putBoolean(activity.getString(R.string.SET_SHOW_BOOSTS) + currentUserID + currentInstance, show_boosts); itemShowBoosts.setChecked(show_boosts); editor.apply(); + } else if (itemId == R.id.action_show_my_messages) { + show_my_messages = !show_my_messages; + editor.putBoolean(activity.getString(R.string.SET_SHOW_MY_MESSAGES) + currentUserID + currentInstance, show_my_messages); + itemShowMyMessages.setChecked(show_my_messages); + editor.apply(); } else if (itemId == R.id.action_show_self_boosts) { show_self_boosts = !show_self_boosts; editor.putBoolean(activity.getString(R.string.SET_SHOW_SELF_BOOSTS) + currentUserID + currentInstance, show_self_boosts); diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java index ed33100b5..fe84913ac 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java @@ -17,12 +17,14 @@ package app.fedilab.android.mastodon.ui.drawer; import static android.content.Context.INPUT_METHOD_SERVICE; import static app.fedilab.android.BaseMainActivity.currentAccount; +import static app.fedilab.android.BaseMainActivity.currentUserID; import static app.fedilab.android.BaseMainActivity.emojis; import static app.fedilab.android.BaseMainActivity.regex_home; import static app.fedilab.android.BaseMainActivity.regex_local; import static app.fedilab.android.BaseMainActivity.regex_public; import static app.fedilab.android.BaseMainActivity.show_boosts; import static app.fedilab.android.BaseMainActivity.show_dms; +import static app.fedilab.android.BaseMainActivity.show_my_messages; import static app.fedilab.android.BaseMainActivity.show_replies; import static app.fedilab.android.BaseMainActivity.show_self_boosts; import static app.fedilab.android.BaseMainActivity.show_self_replies; @@ -221,6 +223,9 @@ public class StatusAdapter extends RecyclerView.Adapter if (timelineType == Timeline.TimeLineEnum.HOME && !show_boosts && status.reblog != null) { return false; } + if (timelineType == Timeline.TimeLineEnum.HOME && !show_my_messages && status.account.id.equals(currentUserID)) { + return false; + } if (timelineType == Timeline.TimeLineEnum.HOME && !show_self_boosts && status.reblog != null && status.reblog.account.id.equals(status.account.id)) { return false; } diff --git a/app/src/main/res/menus/mastodon/menu/option_filter_toots.xml b/app/src/main/res/menus/mastodon/menu/option_filter_toots.xml index 3cc69fc3c..ee83a5c22 100644 --- a/app/src/main/res/menus/mastodon/menu/option_filter_toots.xml +++ b/app/src/main/res/menus/mastodon/menu/option_filter_toots.xml @@ -28,6 +28,12 @@ android:title="@string/show_self_replies" app:actionViewClass="android.widget.CheckBox" app:showAsAction="always" /> + Show replies Show self boosts Show self replies + Show my messages Show direct messages Open in browser Translate @@ -1045,6 +1046,7 @@ SET_TIMELINES_IN_A_LIST SET_LED_COLOUR_VAL_N SET_SHOW_BOOSTS + SET_SHOW_MY_MESSAGES SET_SHOW_SELF_BOOSTS SET_SHOW_REPLIES SET_SHOW_SELF_REPLIES diff --git a/src/fdroid/fastlane/metadata/android/en/changelogs/499.txt b/src/fdroid/fastlane/metadata/android/en/changelogs/499.txt index 4c91446a6..dc98651dc 100644 --- a/src/fdroid/fastlane/metadata/android/en/changelogs/499.txt +++ b/src/fdroid/fastlane/metadata/android/en/changelogs/499.txt @@ -1,6 +1,6 @@ Added: - Markdown support (can be disabled in Settings > Timelines) -- Hide / Show Self boosts and self replies (Long press the Home tab) +- Hide / Show Self boosts, self replies and your own messages (Long press the Home tab) Changed: - Full screen size when writing media descriptions.