diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java index 5423d65ea..96bc5165b 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java @@ -65,6 +65,7 @@ public class ListTimelineFragment extends StatusListFragment { editor.applyList(listTitle, repliesPolicy); new M3AlertDialogBuilder(getActivity()) .setTitle(R.string.sk_edit_list_title) + .setIcon(R.drawable.ic_fluent_people_list_28_regular) .setView(editor) .setPositiveButton(R.string.save, (d, which) -> { new UpdateList(listID, editor.getTitle(), editor.getRepliesPolicy()).setCallback(new Callback<>() { diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelinesFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelinesFragment.java index 794216148..4c8e70d5a 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelinesFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelinesFragment.java @@ -55,12 +55,14 @@ public class ListTimelinesFragment extends BaseRecyclerFragment im super.onCreate(savedInstanceState); Bundle args=getArguments(); accountId=args.getString("account"); + setHasOptionsMenu(true); if(args.containsKey("profileAccount")){ profileAccountId=args.getString("profileAccount"); profileDisplayUsername=args.getString("profileDisplayUsername"); setTitle(getString(R.string.sk_lists_with_user, profileDisplayUsername)); - setHasOptionsMenu(true); + } else { + setTitle(R.string.sk_your_lists); } } @@ -82,6 +84,7 @@ public class ListTimelinesFragment extends BaseRecyclerFragment im ListTimelineEditor editor = new ListTimelineEditor(getContext()); new M3AlertDialogBuilder(getActivity()) .setTitle(R.string.sk_create_list_title) + .setIcon(R.drawable.ic_fluent_people_add_28_regular) .setView(editor) .setPositiveButton(R.string.sk_create, (d, which) -> { new CreateList(editor.getTitle(), editor.getRepliesPolicy()).setCallback(new Callback<>() { @@ -208,7 +211,7 @@ public class ListTimelinesFragment extends BaseRecyclerFragment im @Override public void onBind(ListTimeline item) { title.setText(item.title); - title.setCompoundDrawablesRelativeWithIntrinsicBounds(itemView.getContext().getDrawable(R.drawable.ic_fluent_people_community_24_regular), null, null, null); + title.setCompoundDrawablesRelativeWithIntrinsicBounds(itemView.getContext().getDrawable(R.drawable.ic_fluent_people_list_24_regular), null, null, null); if (profileAccountId != null) { Boolean checked = userInList.get(item.id); listToggle.setVisibility(View.VISIBLE); diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java index 8ec7bc555..883d14c87 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java @@ -567,17 +567,14 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList menu.findItem(R.id.block).setTitle(getString(relationship.blocking ? R.string.unblock_user : R.string.block_user, account.getShortUsername())); menu.findItem(R.id.report).setTitle(getString(R.string.report_user, account.getShortUsername())); - MenuItem manageUserLists=menu.findItem(R.id.manage_user_lists); if(relationship.following) { MenuItem hideBoosts = menu.findItem(R.id.hide_boosts); hideBoosts.setTitle(getString(relationship.showingReblogs ? R.string.hide_boosts_from_user : R.string.show_boosts_from_user, account.getShortUsername())); hideBoosts.setIcon(relationship.showingReblogs ? R.drawable.ic_fluent_arrow_repeat_all_off_24_regular : R.drawable.ic_fluent_arrow_repeat_all_24_regular); UiUtils.insetPopupMenuIcon(getContext(), hideBoosts); - manageUserLists.setTitle(getString(R.string.sk_lists_with_user, account.getShortUsername())); - manageUserLists.setVisible(true); + menu.findItem(R.id.manage_user_lists).setTitle(getString(R.string.sk_lists_with_user, account.getShortUsername())); }else { menu.findItem(R.id.hide_boosts).setVisible(false); - manageUserLists.setVisible(false); } if(!account.isLocal()) menu.findItem(R.id.block_domain).setTitle(getString(relationship.domainBlocking ? R.string.unblock_domain : R.string.block_domain, account.getDomain())); @@ -635,8 +632,10 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList }else if(id==R.id.manage_user_lists){ final Bundle args=new Bundle(); args.putString("account", accountID); - args.putString("profileAccount", profileAccountID); - args.putString("profileDisplayUsername", account.getDisplayUsername()); + if (!isOwnProfile) { + args.putString("profileAccount", profileAccountID); + args.putString("profileDisplayUsername", account.getDisplayUsername()); + } Nav.go(getActivity(), ListTimelinesFragment.class, args); }else if(id==R.id.followed_hashtags){ Bundle args=new Bundle(); diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/DiscoverFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/DiscoverFragment.java index 8e69e7b19..6dfea2f68 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/DiscoverFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/DiscoverFragment.java @@ -18,11 +18,9 @@ import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; -import org.joinmastodon.android.BuildConfig; import org.joinmastodon.android.GlobalUserPreferences; import org.joinmastodon.android.R; import org.joinmastodon.android.fragments.ScrollableToTop; -import org.joinmastodon.android.fragments.ListTimelinesFragment; import org.joinmastodon.android.ui.SimpleViewHolder; import org.joinmastodon.android.ui.tabs.TabLayout; import org.joinmastodon.android.ui.tabs.TabLayoutMediator; @@ -57,7 +55,6 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop, private SearchFragment searchFragment; private LocalTimelineFragment localTimelineFragment; private FederatedTimelineFragment federatedTimelineFragment; - private ListTimelinesFragment listTimelinesFragment; private String accountID; private Runnable searchDebouncer=this::onSearchChangedDebounced; @@ -81,7 +78,7 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop, tabLayout=view.findViewById(R.id.tabbar); pager=view.findViewById(R.id.pager); - tabViews=new FrameLayout[noFederated ? 6 : 7]; + tabViews=new FrameLayout[noFederated ? 5 : 6]; for(int i=0;i 0 ? i + 1 : i; @@ -92,7 +89,6 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop, case 3 -> R.id.discover_posts; case 4 -> R.id.discover_news; case 5 -> R.id.discover_users; - case 6 -> R.id.discover_lists; default -> throw new IllegalStateException("Unexpected value: "+switchIndex); }); tabView.setVisibility(View.GONE); @@ -139,16 +135,12 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop, localTimelineFragment=new LocalTimelineFragment(); localTimelineFragment.setArguments(args); - listTimelinesFragment=new ListTimelinesFragment(); - listTimelinesFragment.setArguments(args); - FragmentTransaction transaction = getChildFragmentManager().beginTransaction() .add(R.id.discover_posts, postsFragment) .add(R.id.discover_local_timeline, localTimelineFragment) .add(R.id.discover_hashtags, hashtagsFragment) .add(R.id.discover_news, newsFragment) - .add(R.id.discover_users, accountsFragment) - .add(R.id.discover_lists, listTimelinesFragment); + .add(R.id.discover_users, accountsFragment); if (!noFederated) { federatedTimelineFragment=new FederatedTimelineFragment(); @@ -170,7 +162,6 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop, case 3 -> R.string.posts; case 4 -> R.string.news; case 5 -> R.string.for_you; - case 6 -> R.string.sk_list_timelines; default -> throw new IllegalStateException("Unexpected value: "+position); }); tab.view.textView.setAllCaps(true); @@ -300,7 +291,6 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop, case 3 -> postsFragment; case 4 -> newsFragment; case 5 -> accountsFragment; - case 6 -> listTimelinesFragment; default -> throw new IllegalStateException("Unexpected value: "+page); }; } diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java b/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java index f2b8c0206..ccf83b905 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java @@ -537,16 +537,18 @@ public class UiUtils{ public static void confirmDeleteList(Activity activity, String accountID, String listID, Runnable callback) { showConfirmationAlert(activity, R.string.sk_delete_list, R.string.sk_delete_list_confirm, R.string.delete, R.drawable.ic_fluent_delete_28_regular, () -> new DeleteList(listID).setCallback(new Callback<>() { - @Override - public void onSuccess(Object o) { - callback.run(); - } + @Override + public void onSuccess(Object o) { + callback.run(); + } - @Override - public void onError(ErrorResponse error) { - error.showToast(activity); - } - }).exec(accountID)); + @Override + public void onError(ErrorResponse error) { + error.showToast(activity); + } + }) + .wrapProgress(activity, R.string.deleting, false) + .exec(accountID)); } public static void setRelationshipToActionButton(Relationship relationship, Button button){ diff --git a/mastodon/src/main/res/drawable/ic_fluent_people_24_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_people_24_regular.xml new file mode 100644 index 000000000..7e747822e --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_people_24_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/drawable/ic_fluent_people_add_24_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_people_add_24_regular.xml new file mode 100644 index 000000000..84cd0634b --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_people_add_24_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/drawable/ic_fluent_people_add_28_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_people_add_28_regular.xml new file mode 100644 index 000000000..370ecb02a --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_people_add_28_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/drawable/ic_fluent_people_list_24_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_people_list_24_regular.xml new file mode 100644 index 000000000..f4b216279 --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_people_list_24_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/drawable/ic_fluent_people_list_28_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_people_list_28_regular.xml new file mode 100644 index 000000000..39394a989 --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_people_list_28_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/menu/menu_list.xml b/mastodon/src/main/res/menu/menu_list.xml index dbd92e417..93123a9f2 100644 --- a/mastodon/src/main/res/menu/menu_list.xml +++ b/mastodon/src/main/res/menu/menu_list.xml @@ -3,6 +3,6 @@ \ No newline at end of file diff --git a/mastodon/src/main/res/menu/profile.xml b/mastodon/src/main/res/menu/profile.xml index 2bef29ade..2be601cae 100644 --- a/mastodon/src/main/res/menu/profile.xml +++ b/mastodon/src/main/res/menu/profile.xml @@ -6,6 +6,6 @@ - + \ No newline at end of file diff --git a/mastodon/src/main/res/menu/profile_own.xml b/mastodon/src/main/res/menu/profile_own.xml index a8c26cea9..8a8ef919b 100644 --- a/mastodon/src/main/res/menu/profile_own.xml +++ b/mastodon/src/main/res/menu/profile_own.xml @@ -2,6 +2,7 @@ + diff --git a/mastodon/src/main/res/values/strings_sk.xml b/mastodon/src/main/res/values/strings_sk.xml index ff7d7072a..c0347f092 100644 --- a/mastodon/src/main/res/values/strings_sk.xml +++ b/mastodon/src/main/res/values/strings_sk.xml @@ -139,4 +139,5 @@ Delete list Are you sure you want to delete this list? Edit list + Your lists \ No newline at end of file