From 098b0885a2a5c7131fc4ded8b77f47497e8a4a0b Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Fri, 29 Sep 2023 21:47:34 -0300 Subject: [PATCH] feat(notification-filters): start implementing this i am pushing to master because I am THUG LIFE. Jk, its because I wanna throw these strings on weblate --- .../fragments/NotificationsFragment.java | 32 ++++++++++++++++++- mastodon/src/main/res/menu/notifications.xml | 6 ++++ mastodon/src/main/res/values/strings_mo.xml | 1 + 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsFragment.java index dbd6e7935..98b12f42c 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsFragment.java @@ -1,9 +1,12 @@ package org.joinmastodon.android.fragments; import android.app.Activity; +import android.app.Dialog; import android.app.Fragment; import android.app.assist.AssistContent; +import android.content.Context; import android.content.res.Configuration; +import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; @@ -14,6 +17,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.LinearLayout; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; @@ -27,17 +31,26 @@ import org.joinmastodon.android.R; import org.joinmastodon.android.api.requests.accounts.GetFollowRequests; import org.joinmastodon.android.api.requests.markers.SaveMarkers; import org.joinmastodon.android.api.requests.notifications.PleromaMarkNotificationsRead; +import org.joinmastodon.android.api.session.AccountSession; import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.events.FollowRequestHandledEvent; import org.joinmastodon.android.model.Account; import org.joinmastodon.android.model.HeaderPaginationList; +import org.joinmastodon.android.model.Instance; +import org.joinmastodon.android.model.StatusPrivacy; +import org.joinmastodon.android.ui.M3AlertDialogBuilder; import org.joinmastodon.android.ui.SimpleViewHolder; import org.joinmastodon.android.ui.tabs.TabLayout; import org.joinmastodon.android.ui.tabs.TabLayoutMediator; import org.joinmastodon.android.ui.utils.UiUtils; +import org.joinmastodon.android.ui.views.CheckIconSelectableTextView; +import org.joinmastodon.android.ui.views.CheckableLinearLayout; import org.joinmastodon.android.utils.ElevationOnScrollListener; import org.joinmastodon.android.utils.ObjectIdComparator; import org.joinmastodon.android.utils.ProvidesAssistContent; +import org.parceler.Parcels; + +import java.util.function.Consumer; import me.grishka.appkit.Nav; import me.grishka.appkit.api.Callback; @@ -92,9 +105,10 @@ public class NotificationsFragment extends MastodonToolbarFragment implements Sc public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){ inflater.inflate(R.menu.notifications, menu); menu.findItem(R.id.clear_notifications).setVisible(GlobalUserPreferences.enableDeleteNotifications); +// menu.findItem(R.id.filter_notifications).setVisible(true); markAllReadItem=menu.findItem(R.id.mark_all_read); updateMarkAllReadButton(); - UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.follow_requests, R.id.mark_all_read); + UiUtils.enableOptionsMenuIcons(getActivity(), menu, R.id.follow_requests, R.id.mark_all_read, R.id.filter_notifications); } @Override @@ -117,6 +131,22 @@ public class NotificationsFragment extends MastodonToolbarFragment implements Sc nlf.resetUnreadBackground(); } return true; + } else if (item.getItemId() == R.id.filter_notifications) { + Context ctx = getToolbarContext(); + LinearLayout linearLayout = new LinearLayout(getToolbarContext()); + Dialog dialog = new M3AlertDialogBuilder(ctx).setView(linearLayout).create(); + AccountSession session = AccountSessionManager.getInstance().getAccount(accountID); + + linearLayout.setOrientation(LinearLayout.VERTICAL); +// LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); +// linearLayout.setLayoutParams(params); + TextView textView = new TextView(ctx); + textView.setText("wtf"); + linearLayout.addView(textView); + + + dialog.show(); + return true; } return false; } diff --git a/mastodon/src/main/res/menu/notifications.xml b/mastodon/src/main/res/menu/notifications.xml index c451bf5c5..3d0d483b7 100644 --- a/mastodon/src/main/res/menu/notifications.xml +++ b/mastodon/src/main/res/menu/notifications.xml @@ -1,5 +1,11 @@ + Moderated servers Silenced Blocked + Filter notifications https://github.com/LucasGGamerM/moshidon https://github.com/sponsors/LucasGGamerM