Fix admin reports not accessible

This commit is contained in:
Thomas 2025-03-06 17:30:52 +01:00
parent 170a5dfd06
commit de9c4f902f
8 changed files with 106 additions and 94 deletions

View file

@ -60,8 +60,6 @@ public class ActionActivity extends BaseBarActivity {
private void displayTimeline(Timeline.TimeLineEnum type) {
canGoBack = true;
if (type == Timeline.TimeLineEnum.MUTED_TIMELINE || type == Timeline.TimeLineEnum.BLOCKED_TIMELINE || type == Timeline.TimeLineEnum.MUTED_TIMELINE_HOME) {
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
fragmentMastodonAccount = new FragmentMastodonAccount();
Bundle bundle = new Bundle();
bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, type);
@ -72,20 +70,21 @@ public class ActionActivity extends BaseBarActivity {
fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragmentMastodonAccount);
fragmentTransaction.commit();
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
});
} else if (type == Timeline.TimeLineEnum.BLOCKED_DOMAIN_TIMELINE) {
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
fragmentMastodonDomainBlock = new FragmentMastodonDomainBlock();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction =
fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragmentMastodonDomainBlock);
fragmentTransaction.commit();
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
});
} else {
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
fragmentMastodonTimeline = new FragmentMastodonTimeline();
Bundle bundle = new Bundle();
bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, type);
@ -96,6 +95,8 @@ public class ActionActivity extends BaseBarActivity {
fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragmentMastodonTimeline);
fragmentTransaction.commit();
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
});
}

View file

@ -207,7 +207,6 @@ public class FollowedTagActivity extends BaseBarActivity implements FollowedTagA
public void click(Tag tag) {
this.tag = tag;
canGoBack = true;
ThemeHelper.slideViewsToLeft(binding.recyclerView, binding.fragmentContainer, () -> {
fragmentMastodonTimeline = new FragmentMastodonTimeline();
Bundle bundle = new Bundle();
bundle.putSerializable(Helper.ARG_SEARCH_KEYWORD, tag.name);
@ -220,6 +219,8 @@ public class FollowedTagActivity extends BaseBarActivity implements FollowedTagA
fragmentTransaction.replace(R.id.fragment_container, fragmentMastodonTimeline);
fragmentTransaction.commit();
invalidateOptionsMenu();
ThemeHelper.slideViewsToLeft(binding.recyclerView, binding.fragmentContainer, () -> {
});
}
}

View file

@ -459,7 +459,6 @@ public class MastodonListActivity extends BaseBarActivity implements MastodonLis
this.mastodonList = mastodonList;
canGoBack = true;
ThemeHelper.slideViewsToLeft(binding.recyclerView, binding.fragmentContainer, () -> {
fragmentMastodonTimeline = new FragmentMastodonTimeline();
Bundle bundle = new Bundle();
bundle.putSerializable(Helper.ARG_LIST_ID, mastodonList.id);
@ -472,6 +471,8 @@ public class MastodonListActivity extends BaseBarActivity implements MastodonLis
fragmentTransaction.replace(R.id.fragment_container, fragmentMastodonTimeline);
fragmentTransaction.commit();
invalidateOptionsMenu();
ThemeHelper.slideViewsToLeft(binding.recyclerView, binding.fragmentContainer, () -> {
});
}

View file

@ -132,7 +132,6 @@ public class AdminActionActivity extends BaseBarActivity {
private void displayTimeline(AdminEnum type) {
canGoBack = true;
if (type == REPORT) {
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
fragmentAdminReport = new FragmentAdminReport();
Bundle bundle = new Bundle();
bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, type);
@ -143,9 +142,10 @@ public class AdminActionActivity extends BaseBarActivity {
fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragmentAdminReport);
fragmentTransaction.commit();
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
});
} else if (type == ACCOUNT) {
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
fragmentAdminAccount = new FragmentAdminAccount();
Bundle bundle = new Bundle();
bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, type);
@ -156,9 +156,10 @@ public class AdminActionActivity extends BaseBarActivity {
fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragmentAdminAccount);
fragmentTransaction.commit();
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
});
} else if (type == DOMAIN) {
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
fragmentAdminDomain = new FragmentAdminDomain();
Bundle bundle = new Bundle();
bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, type);
@ -169,6 +170,8 @@ public class AdminActionActivity extends BaseBarActivity {
fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragmentAdminDomain);
fragmentTransaction.commit();
ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
});
}
switch (type) {

View file

@ -157,10 +157,10 @@ public class AdminReportActivity extends BaseBarActivity {
lastActive.append(Helper.shortDateToString(ip.used_at)).append(" - ").append(ip.ip).append("\r\n");
}
}
if (lastActive.toString().trim().length() == 0) {
if (lastActive.toString().trim().isEmpty()) {
binding.lastActiveContainer.setVisibility(View.GONE);
}
if (adminAccount.email == null || adminAccount.email.trim().length() == 0) {
if (adminAccount.email == null || adminAccount.email.trim().isEmpty()) {
binding.emailContainer.setVisibility(View.GONE);
}
binding.lastActive.setText(lastActive.toString());
@ -260,7 +260,7 @@ public class AdminReportActivity extends BaseBarActivity {
//Animate emojis
if (account.emojis != null && account.emojis.size() > 0) {
if (account.emojis != null && !account.emojis.isEmpty()) {
boolean disableAnimatedEmoji = sharedpreferences.getBoolean(getString(R.string.SET_DISABLE_ANIMATED_EMOJI), false);
if (!disableAnimatedEmoji) {
scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();

View file

@ -95,7 +95,7 @@ public class AdminAccountAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
holder.binding.email.setText(adminAccount.email);
if (adminAccount.ip != null) {
holder.binding.ip.setText(adminAccount.ip);
} else if (adminAccount.ips != null && adminAccount.ips.size() > 0) {
} else if (adminAccount.ips != null && !adminAccount.ips.isEmpty()) {
holder.binding.lastActive.setText(Helper.shortDateToString(adminAccount.ips.get(0).used_at));
holder.binding.ip.setText(adminAccount.ips.get(0).ip);
} else {

View file

@ -33,6 +33,7 @@ import app.fedilab.android.databinding.DrawerReportBinding;
import app.fedilab.android.mastodon.activities.AccountReportActivity;
import app.fedilab.android.mastodon.client.entities.api.Account;
import app.fedilab.android.mastodon.client.entities.api.admin.AdminReport;
import app.fedilab.android.mastodon.client.entities.app.CachedBundle;
import app.fedilab.android.mastodon.helper.Helper;
import app.fedilab.android.mastodon.helper.MastodonHelper;
@ -61,8 +62,8 @@ public class ReportAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
AdminReport report = reports.get(position);
Account account = report.account.account;
Account target_account = report.target_account.account;
if (account.display_name == null || account.display_name.trim().equals("")) {
if (account.display_name != null && !account.display_name.trim().equals(""))
if (account.display_name == null || account.display_name.trim().isEmpty()) {
if (account.display_name != null && !account.display_name.trim().isEmpty())
holder.binding.accountDnReporter.setText(account.display_name);
else
holder.binding.accountDnReporter.setText(account.username.replace("@", ""));
@ -91,11 +92,16 @@ public class ReportAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
holder.binding.mainContainer.setOnClickListener(view -> {
Intent intent = new Intent(context, AccountReportActivity.class);
Bundle b = new Bundle();
b.putSerializable(Helper.ARG_REPORT, report);
intent.putExtras(b);
Bundle args = new Bundle();
args.putSerializable(Helper.ARG_REPORT, report);
new CachedBundle(context).insertBundle(args, Helper.getCurrentAccount(context), bundleId -> {
Bundle bundle = new Bundle();
bundle.putLong(Helper.ARG_INTENT_ID, bundleId);
intent.putExtras(bundle);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
});
});
}

View file

@ -116,7 +116,7 @@ public class FragmentAdminReport extends Fragment {
.observe(getViewLifecycleOwner(), this::initializeStatusesCommonView);
});
if (adminReports == null || adminReports.adminReports == null || adminReports.adminReports.size() == 0) {
if (adminReports == null || adminReports.adminReports == null || adminReports.adminReports.isEmpty()) {
binding.noAction.setVisibility(View.VISIBLE);
return;
}
@ -188,7 +188,7 @@ public class FragmentAdminReport extends Fragment {
return;
}
binding.loadingNextElements.setVisibility(View.GONE);
if (adminReports != null && admReports != null && admReports.adminReports != null && admReports.adminReports.size() > 0) {
if (adminReports != null && admReports != null && admReports.adminReports != null && !admReports.adminReports.isEmpty()) {
flagLoading = admReports.pagination.max_id == null;
//There are some adminReports present in the timeline
int startId = adminReports.size();