Apply changes
This commit is contained in:
parent
ffdd76f873
commit
a1dc8ad4c6
|
@ -20,6 +20,7 @@ import android.app.AlertDialog;
|
|||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
@ -36,6 +37,7 @@ import android.widget.Toast;
|
|||
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.constraintlayout.widget.Group;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
|
@ -54,18 +56,22 @@ import app.fedilab.android.helper.Helper;
|
|||
import app.fedilab.android.interfaces.OnAdminActionInterface;
|
||||
import es.dmoral.toasty.Toasty;
|
||||
|
||||
import static app.fedilab.android.client.API.adminAction.APPROVE;
|
||||
import static app.fedilab.android.client.API.adminAction.DISABLE;
|
||||
import static app.fedilab.android.client.API.adminAction.NONE;
|
||||
import static app.fedilab.android.client.API.adminAction.REJECT;
|
||||
import static app.fedilab.android.client.API.adminAction.SILENCE;
|
||||
import static app.fedilab.android.client.API.adminAction.SUSPEND;
|
||||
|
||||
public class AccountReportActivity extends BaseActivity implements OnAdminActionInterface {
|
||||
|
||||
TextView permissions, username, email, email_status, login_status, joined, recent_ip, comment_label;
|
||||
Button warn, disable, silence, suspend;
|
||||
Button warn, disable, silence, suspend, allow, reject, assign, status;
|
||||
private String account_id;
|
||||
private CheckBox email_user;
|
||||
private EditText comment;
|
||||
private Report report;
|
||||
private Group allow_reject_group;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
@ -73,7 +79,7 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
|
||||
|
||||
setTheme(R.style.AppAdminTheme);
|
||||
Report report = null;
|
||||
report = null;
|
||||
AccountAdmin targeted_account = null;
|
||||
Bundle b = getIntent().getExtras();
|
||||
if (b != null) {
|
||||
|
@ -107,6 +113,14 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
disable = findViewById(R.id.disable);
|
||||
silence = findViewById(R.id.silence);
|
||||
suspend = findViewById(R.id.suspend);
|
||||
allow = findViewById(R.id.allow);
|
||||
reject = findViewById(R.id.reject);
|
||||
status = findViewById(R.id.status);
|
||||
assign = findViewById(R.id.assign);
|
||||
allow_reject_group = findViewById(R.id.allow_reject_group);
|
||||
allow_reject_group.setVisibility(View.GONE);
|
||||
allow.getBackground().setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.green_1), PorterDuff.Mode.MULTIPLY);
|
||||
reject.getBackground().setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.red_1), PorterDuff.Mode.MULTIPLY);
|
||||
comment_label = findViewById(R.id.comment_label);
|
||||
permissions = findViewById(R.id.permissions);
|
||||
username = findViewById(R.id.username);
|
||||
|
@ -123,7 +137,8 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
||||
finish();
|
||||
}
|
||||
|
||||
assign.setVisibility(View.GONE);
|
||||
status.setVisibility(View.GONE);
|
||||
if( account_id != null){
|
||||
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.GET_ONE_ACCOUNT, account_id, null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
return;
|
||||
|
@ -176,9 +191,13 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
}
|
||||
return;
|
||||
}
|
||||
if( apiResponse.getAccountAdmins() != null && apiResponse.getAccountAdmins().size() > 0) {
|
||||
if( apiResponse.getReports() != null && apiResponse.getReports().size() > 0){
|
||||
report = apiResponse.getReports().get(0);
|
||||
fillReport(apiResponse.getAccountAdmins().get(0));
|
||||
} else if( apiResponse.getAccountAdmins() != null && apiResponse.getAccountAdmins().size() > 0) {
|
||||
fillReport(apiResponse.getAccountAdmins().get(0));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void fillReport(AccountAdmin accountAdmin){
|
||||
|
@ -187,6 +206,21 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
if(!accountAdmin.isConfirmed()){
|
||||
allow_reject_group.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
reject.setOnClickListener(view->{
|
||||
AdminAction adminAction = new AdminAction();
|
||||
adminAction.setType(REJECT);
|
||||
new PostAdminActionAsyncTask(getApplicationContext(), REJECT, account_id, adminAction, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
});
|
||||
|
||||
allow.setOnClickListener(view->{
|
||||
AdminAction adminAction = new AdminAction();
|
||||
adminAction.setType(APPROVE);
|
||||
new PostAdminActionAsyncTask(getApplicationContext(), APPROVE, account_id, adminAction, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
});
|
||||
|
||||
warn.setOnClickListener(view->{
|
||||
AdminAction adminAction = new AdminAction();
|
||||
|
@ -230,7 +264,6 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.ENABLE, account_id, null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
});
|
||||
|
||||
if( !accountAdmin.isSuspended() ) {
|
||||
suspend.setText(getString(R.string.suspend));
|
||||
}else{
|
||||
|
@ -248,6 +281,7 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
}
|
||||
});
|
||||
|
||||
|
||||
if( accountAdmin.getAction() != null) {
|
||||
String message = null;
|
||||
switch (accountAdmin.getAction()) {
|
||||
|
@ -272,6 +306,14 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
case NONE:
|
||||
message = getString(R.string.account_warned);
|
||||
break;
|
||||
case APPROVE:
|
||||
allow_reject_group.setVisibility(View.GONE);
|
||||
message = getString(R.string.account_approved);
|
||||
break;
|
||||
case REJECT:
|
||||
allow_reject_group.setVisibility(View.GONE);
|
||||
message = getString(R.string.account_rejected);
|
||||
break;
|
||||
}
|
||||
if( message != null){
|
||||
Toasty.success(getApplicationContext(), message, Toast.LENGTH_LONG).show();
|
||||
|
@ -344,5 +386,39 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
joined.setText(Helper.dateToString(accountAdmin.getCreated_at()));
|
||||
|
||||
|
||||
if( report != null){
|
||||
assign.setVisibility(View.VISIBLE);
|
||||
status.setVisibility(View.VISIBLE);
|
||||
if( report.getAssigned_account() == null){
|
||||
assign.setText(getString(R.string.assign_to_me));
|
||||
}else{
|
||||
assign.setText(getString(R.string.unassign));
|
||||
}
|
||||
assign.setOnClickListener(view ->{
|
||||
if( report.getAssigned_account() == null){
|
||||
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.ASSIGN_TO_SELF, report.getId(), null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}else{
|
||||
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.UNASSIGN, report.getId(), null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
});
|
||||
|
||||
if( report.isAction_taken()){
|
||||
status.setText(getString(R.string.mark_unresolved));
|
||||
}else{
|
||||
status.setText(getString(R.string.mark_resolved));
|
||||
}
|
||||
status.setOnClickListener(view ->{
|
||||
if( report.isAction_taken() ){
|
||||
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.REOPEN, report.getId(), null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}else{
|
||||
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.RESOLVE, report.getId(), null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
});
|
||||
|
||||
}else{
|
||||
assign.setVisibility(View.GONE);
|
||||
status.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1073,6 +1073,12 @@
|
|||
<string name="set_display_admin_menu">Display the admin menu</string>
|
||||
<string name="set_display_admin_toot">Display the admin feature in statuses</string>
|
||||
<string name="allow">Allow</string>
|
||||
<string name="account_approved">The account is approved!</string>
|
||||
<string name="account_rejected">The account is rejected!</string>
|
||||
<string name="assign_to_me">Assign to me</string>
|
||||
<string name="unassign">Unassign</string>
|
||||
<string name="mark_resolved">Mark as resolved</string>
|
||||
<string name="mark_unresolved">Mark as unresolved</string>
|
||||
<plurals name="number_of_vote">
|
||||
<item quantity="one">%d vote</item>
|
||||
<item quantity="other">%d votes</item>
|
||||
|
|
Loading…
Reference in New Issue