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.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.graphics.PorterDuff;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
@ -36,6 +37,7 @@ import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
import androidx.constraintlayout.widget.Group;
|
import androidx.constraintlayout.widget.Group;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
@ -54,18 +56,22 @@ import app.fedilab.android.helper.Helper;
|
||||||
import app.fedilab.android.interfaces.OnAdminActionInterface;
|
import app.fedilab.android.interfaces.OnAdminActionInterface;
|
||||||
import es.dmoral.toasty.Toasty;
|
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.DISABLE;
|
||||||
import static app.fedilab.android.client.API.adminAction.NONE;
|
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.SILENCE;
|
||||||
import static app.fedilab.android.client.API.adminAction.SUSPEND;
|
import static app.fedilab.android.client.API.adminAction.SUSPEND;
|
||||||
|
|
||||||
public class AccountReportActivity extends BaseActivity implements OnAdminActionInterface {
|
public class AccountReportActivity extends BaseActivity implements OnAdminActionInterface {
|
||||||
|
|
||||||
TextView permissions, username, email, email_status, login_status, joined, recent_ip, comment_label;
|
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 String account_id;
|
||||||
private CheckBox email_user;
|
private CheckBox email_user;
|
||||||
private EditText comment;
|
private EditText comment;
|
||||||
|
private Report report;
|
||||||
|
private Group allow_reject_group;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -73,7 +79,7 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
||||||
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
|
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
|
||||||
|
|
||||||
setTheme(R.style.AppAdminTheme);
|
setTheme(R.style.AppAdminTheme);
|
||||||
Report report = null;
|
report = null;
|
||||||
AccountAdmin targeted_account = null;
|
AccountAdmin targeted_account = null;
|
||||||
Bundle b = getIntent().getExtras();
|
Bundle b = getIntent().getExtras();
|
||||||
if (b != null) {
|
if (b != null) {
|
||||||
|
@ -107,6 +113,14 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
||||||
disable = findViewById(R.id.disable);
|
disable = findViewById(R.id.disable);
|
||||||
silence = findViewById(R.id.silence);
|
silence = findViewById(R.id.silence);
|
||||||
suspend = findViewById(R.id.suspend);
|
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);
|
comment_label = findViewById(R.id.comment_label);
|
||||||
permissions = findViewById(R.id.permissions);
|
permissions = findViewById(R.id.permissions);
|
||||||
username = findViewById(R.id.username);
|
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();
|
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
assign.setVisibility(View.GONE);
|
||||||
|
status.setVisibility(View.GONE);
|
||||||
if( account_id != null){
|
if( account_id != null){
|
||||||
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.GET_ONE_ACCOUNT, account_id, null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.GET_ONE_ACCOUNT, account_id, null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
return;
|
return;
|
||||||
|
@ -176,9 +191,13 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
||||||
}
|
}
|
||||||
return;
|
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));
|
fillReport(apiResponse.getAccountAdmins().get(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillReport(AccountAdmin accountAdmin){
|
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();
|
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
||||||
return;
|
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->{
|
warn.setOnClickListener(view->{
|
||||||
AdminAction adminAction = new AdminAction();
|
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);
|
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.ENABLE, account_id, null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if( !accountAdmin.isSuspended() ) {
|
if( !accountAdmin.isSuspended() ) {
|
||||||
suspend.setText(getString(R.string.suspend));
|
suspend.setText(getString(R.string.suspend));
|
||||||
}else{
|
}else{
|
||||||
|
@ -248,6 +281,7 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
if( accountAdmin.getAction() != null) {
|
if( accountAdmin.getAction() != null) {
|
||||||
String message = null;
|
String message = null;
|
||||||
switch (accountAdmin.getAction()) {
|
switch (accountAdmin.getAction()) {
|
||||||
|
@ -272,6 +306,14 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
||||||
case NONE:
|
case NONE:
|
||||||
message = getString(R.string.account_warned);
|
message = getString(R.string.account_warned);
|
||||||
break;
|
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){
|
if( message != null){
|
||||||
Toasty.success(getApplicationContext(), message, Toast.LENGTH_LONG).show();
|
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()));
|
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_menu">Display the admin menu</string>
|
||||||
<string name="set_display_admin_toot">Display the admin feature in statuses</string>
|
<string name="set_display_admin_toot">Display the admin feature in statuses</string>
|
||||||
<string name="allow">Allow</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">
|
<plurals name="number_of_vote">
|
||||||
<item quantity="one">%d vote</item>
|
<item quantity="one">%d vote</item>
|
||||||
<item quantity="other">%d votes</item>
|
<item quantity="other">%d votes</item>
|
||||||
|
|
Loading…
Reference in New Issue