Fix moderation for notifications + issue with moderators

This commit is contained in:
tom79 2019-06-24 19:15:39 +02:00
parent 7d8157c5e2
commit 6ca08ca4d7
2 changed files with 21 additions and 5 deletions

View File

@ -327,12 +327,11 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
if( accountAdmin.getRole() == null) {
return;
}
switch (accountAdmin.getRole()) {
case "user":
permissions.setText(getString(R.string.user));
break;
case "mod":
case "moderator":
permissions.setText(getString(R.string.moderator));
break;
case "admin":
@ -375,7 +374,7 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
suspend.setVisibility(View.VISIBLE);
comment_label.setVisibility(View.GONE);
}
if( accountAdmin.getRole().equals("admin") || accountAdmin.getRole().equals("mod")){
if( accountAdmin.getRole().equals("admin") || accountAdmin.getRole().equals("moderator")){
warn.setVisibility(View.GONE);
suspend.setVisibility(View.GONE);
silence.setVisibility(View.GONE);

View File

@ -63,6 +63,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import app.fedilab.android.activities.AccountReportActivity;
import app.fedilab.android.client.API;
import app.fedilab.android.client.APIResponse;
import app.fedilab.android.client.Entities.Account;
@ -858,6 +859,14 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
popup.getMenu().findItem(R.id.action_mute_conversation).setVisible(false);
}
if( MainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.MASTODON){
popup.getMenu().findItem(R.id.action_admin).setVisible(false);
}else{
boolean display_admin_statuses = sharedpreferences.getBoolean(Helper.SET_DISPLAY_ADMIN_STATUSES + userId + Helper.getLiveInstance(context), false);
if( !display_admin_statuses){
popup.getMenu().findItem(R.id.action_admin).setVisible(false);
}
}
if (status.isMuted())
popup.getMenu().findItem(R.id.action_mute_conversation).setTitle(R.string.unmute_conversation);
else
@ -896,9 +905,17 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
case R.id.action_open_browser:
Helper.openBrowser(context, status.getUrl());
return true;
case R.id.action_info:
Intent intent = new Intent(context, TootInfoActivity.class);
case R.id.action_admin:
String account_id = status.getReblog() != null ? status.getReblog().getAccount().getId() : status.getAccount().getId();
Intent intent = new Intent(context, AccountReportActivity.class);
Bundle b = new Bundle();
b.putString("account_id", account_id);
intent.putExtras(b);
context.startActivity(intent);
return true;
case R.id.action_info:
intent = new Intent(context, TootInfoActivity.class);
b = new Bundle();
if (status.getReblog() != null) {
b.putString("toot_id", status.getReblog().getId());
b.putInt("toot_reblogs_count", status.getReblog().getReblogs_count());