diff --git a/app/src/main/java/app/fedilab/android/client/API.java b/app/src/main/java/app/fedilab/android/client/API.java index 012a8334a..dd84479b5 100644 --- a/app/src/main/java/app/fedilab/android/client/API.java +++ b/app/src/main/java/app/fedilab/android/client/API.java @@ -5050,22 +5050,24 @@ public class API { Report report = new Report(); try { report.setId(resobj.getString("id")); - report.setAction_taken(resobj.getString("action_taken")); + report.setAction_taken(resobj.getBoolean("action_taken")); report.setComment(resobj.getString("comment")); report.setCreated_at(Helper.mstStringToDate(context, resobj.getString("created_at"))); report.setUpdated_at(Helper.mstStringToDate(context, resobj.getString("updated_at"))); if( !resobj.isNull("account")) { - report.setAccount(parseAccountResponse(context, resobj.getJSONObject("account"))); + report.setAccount(parseAccountAdminResponse(context, resobj.getJSONObject("account"))); } if( !resobj.isNull("target_account")) { - report.setTarget_account(parseAccountResponse(context, resobj.getJSONObject("target_account"))); + report.setTarget_account(parseAccountAdminResponse(context, resobj.getJSONObject("target_account"))); } if( !resobj.isNull("assigned_account")) { - report.setAssigned_account(parseAccountResponse(context, resobj.getJSONObject("assigned_account"))); + report.setAssigned_account(parseAccountAdminResponse(context, resobj.getJSONObject("assigned_account"))); + } + if( !resobj.isNull("action_taken_by_account")) { + report.setAction_taken_by_account(parseAccountAdminResponse(context, resobj.getJSONObject("action_taken_by_account"))); } - report.setAction_taken_by_account_id(resobj.getString("action_taken_by_account_id")); report.setStatuses(parseStatuses(context, resobj.getJSONArray("statuses"))); - }catch (Exception ignored){} + }catch (Exception ignored){ignored.printStackTrace();} return report; } @@ -5107,11 +5109,27 @@ public class API { accountAdmin.setEmail(resobj.getString("email")); accountAdmin.setRole(resobj.getString("role")); accountAdmin.setIp(resobj.getString("ip")); - accountAdmin.setConfirmed(resobj.getBoolean("confirmed")); - accountAdmin.setSuspended(resobj.getBoolean("suspended")); - accountAdmin.setSilenced(resobj.getBoolean("silenced")); - accountAdmin.setDisabled(resobj.getBoolean("disabled")); accountAdmin.setAccount(parseAccountResponse(context, resobj.getJSONObject("account"))); + if( !resobj.isNull("confirmed")) { + accountAdmin.setConfirmed(resobj.getBoolean("confirmed")); + }else{ + accountAdmin.setConfirmed(true); + } + if( !resobj.isNull("suspended")) { + accountAdmin.setSuspended(resobj.getBoolean("suspended")); + }else{ + accountAdmin.setSuspended(false); + } + if( !resobj.isNull("silenced")) { + accountAdmin.setSilenced(resobj.getBoolean("silenced")); + }else{ + accountAdmin.setSilenced(false); + } + if( !resobj.isNull("disabled")) { + accountAdmin.setDisabled(resobj.getBoolean("disabled")); + }else{ + accountAdmin.setDisabled(false); + } }catch (Exception ignored){} return accountAdmin; } diff --git a/app/src/main/java/app/fedilab/android/client/Entities/Report.java b/app/src/main/java/app/fedilab/android/client/Entities/Report.java index 8e91b6a4f..3fd8025d4 100644 --- a/app/src/main/java/app/fedilab/android/client/Entities/Report.java +++ b/app/src/main/java/app/fedilab/android/client/Entities/Report.java @@ -24,14 +24,14 @@ import java.util.List; public class Report implements Parcelable { private String id; - private String action_taken; + private boolean action_taken; private String comment; private Date created_at; private Date updated_at; - private Account account; - private Account target_account; - private Account assigned_account; - private String action_taken_by_account_id; + private AccountAdmin account; + private AccountAdmin target_account; + private AccountAdmin assigned_account; + private AccountAdmin action_taken_by_account; private List statuses; @@ -43,13 +43,6 @@ public class Report implements Parcelable { this.id = id; } - public String getAction_taken() { - return action_taken; - } - - public void setAction_taken(String action_taken) { - this.action_taken = action_taken; - } public String getComment() { return comment; @@ -75,15 +68,6 @@ public class Report implements Parcelable { this.updated_at = updated_at; } - - public String getAction_taken_by_account_id() { - return action_taken_by_account_id; - } - - public void setAction_taken_by_account_id(String action_taken_by_account_id) { - this.action_taken_by_account_id = action_taken_by_account_id; - } - public List getStatuses() { return statuses; } @@ -96,30 +80,46 @@ public class Report implements Parcelable { public Report() { } - public Account getAccount() { + public AccountAdmin getAccount() { return account; } - public void setAccount(Account account) { + public void setAccount(AccountAdmin account) { this.account = account; } - public Account getTarget_account() { + public AccountAdmin getTarget_account() { return target_account; } - public void setTarget_account(Account target_account) { + public void setTarget_account(AccountAdmin target_account) { this.target_account = target_account; } - public Account getAssigned_account() { + public AccountAdmin getAssigned_account() { return assigned_account; } - public void setAssigned_account(Account assigned_account) { + public void setAssigned_account(AccountAdmin assigned_account) { this.assigned_account = assigned_account; } + public boolean isAction_taken() { + return action_taken; + } + + public void setAction_taken(boolean action_taken) { + this.action_taken = action_taken; + } + + public AccountAdmin getAction_taken_by_account() { + return action_taken_by_account; + } + + public void setAction_taken_by_account(AccountAdmin action_taken_by_account) { + this.action_taken_by_account = action_taken_by_account; + } + @Override public int describeContents() { return 0; @@ -128,29 +128,29 @@ public class Report implements Parcelable { @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(this.id); - dest.writeString(this.action_taken); + dest.writeByte(this.action_taken ? (byte) 1 : (byte) 0); dest.writeString(this.comment); dest.writeLong(this.created_at != null ? this.created_at.getTime() : -1); dest.writeLong(this.updated_at != null ? this.updated_at.getTime() : -1); dest.writeParcelable(this.account, flags); dest.writeParcelable(this.target_account, flags); dest.writeParcelable(this.assigned_account, flags); - dest.writeString(this.action_taken_by_account_id); + dest.writeParcelable(this.action_taken_by_account, flags); dest.writeTypedList(this.statuses); } protected Report(Parcel in) { this.id = in.readString(); - this.action_taken = in.readString(); + this.action_taken = in.readByte() != 0; this.comment = in.readString(); long tmpCreated_at = in.readLong(); this.created_at = tmpCreated_at == -1 ? null : new Date(tmpCreated_at); long tmpUpdated_at = in.readLong(); this.updated_at = tmpUpdated_at == -1 ? null : new Date(tmpUpdated_at); - this.account = in.readParcelable(Account.class.getClassLoader()); - this.target_account = in.readParcelable(Account.class.getClassLoader()); - this.assigned_account = in.readParcelable(Account.class.getClassLoader()); - this.action_taken_by_account_id = in.readString(); + this.account = in.readParcelable(AccountAdmin.class.getClassLoader()); + this.target_account = in.readParcelable(AccountAdmin.class.getClassLoader()); + this.assigned_account = in.readParcelable(AccountAdmin.class.getClassLoader()); + this.action_taken_by_account = in.readParcelable(AccountAdmin.class.getClassLoader()); this.statuses = in.createTypedArrayList(Status.CREATOR); } diff --git a/app/src/main/java/app/fedilab/android/drawers/ReportsListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/ReportsListAdapter.java index 701215eb4..f9e4e0886 100644 --- a/app/src/main/java/app/fedilab/android/drawers/ReportsListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/ReportsListAdapter.java @@ -15,9 +15,6 @@ package app.fedilab.android.drawers; * see . */ import android.content.Context; -import android.os.Build; -import android.text.Html; -import android.text.util.Linkify; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -28,7 +25,6 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -import com.google.android.material.floatingactionbutton.FloatingActionButton; import java.util.List; import app.fedilab.android.R; @@ -72,12 +68,12 @@ public class ReportsListAdapter extends RecyclerView.Adapter implements OnRetrie public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int position) { final ReportsListAdapter.ViewHolder holder = (ReportsListAdapter.ViewHolder) viewHolder; Report report = reports.get(position); - Account account = report.getAccount(); - Account target_account = report.getTarget_account(); + Account account = report.getAccount().getAccount(); + Account target_account = report.getTarget_account().getAccount(); - account.makeAccountNameEmoji(context, ReportsListAdapter.this, account); - target_account.makeAccountNameEmoji(context, ReportsListAdapter.this, target_account); + /*account.makeAccountNameEmoji(context, ReportsListAdapter.this, account); + target_account.makeAccountNameEmoji(context, ReportsListAdapter.this, target_account);*/ if( account.getdisplayNameSpan() == null || account.getdisplayNameSpan().toString().trim().equals("")) { if( account.getDisplay_name() != null && !account.getDisplay_name().trim().equals("")) holder.account_dn_reporter.setText(Helper.shortnameToUnicode(account.getDisplay_name(), true)); @@ -95,7 +91,8 @@ public class ReportsListAdapter extends RecyclerView.Adapter implements OnRetrie holder.account_dn.setText( target_account.getdisplayNameSpan(), TextView.BufferType.SPANNABLE); - Helper.loadGiF(context, account.getAvatar(), holder.account_pp); + + Helper.loadGiF(context, target_account.getAvatar(), holder.account_pp); Helper.loadGiF(context, account.getAvatar(), holder.account_pp_reporter); holder.account_un.setText(String.format("@%s",account.getUsername())); holder.account_ac.setText(account.getAcct()); @@ -104,7 +101,7 @@ public class ReportsListAdapter extends RecyclerView.Adapter implements OnRetrie else holder.account_ac.setVisibility(View.VISIBLE); - holder.report_action_taken.setText(report.getAction_taken()); + holder.report_comment.setText(report.getComment()); } @@ -148,7 +145,7 @@ public class ReportsListAdapter extends RecyclerView.Adapter implements OnRetrie TextView account_ac; TextView account_dn, account_dn_reporter; TextView account_un; - TextView report_action_taken; + TextView report_comment; LinearLayout account_container; @@ -160,7 +157,7 @@ public class ReportsListAdapter extends RecyclerView.Adapter implements OnRetrie account_dn_reporter = itemView.findViewById(R.id.account_dn_reporter); account_ac = itemView.findViewById(R.id.account_ac); account_un = itemView.findViewById(R.id.account_un); - report_action_taken = itemView.findViewById(R.id.report_action_taken); + report_comment = itemView.findViewById(R.id.report_comment); account_container = itemView.findViewById(R.id.account_container); } } diff --git a/app/src/main/res/layout/drawer_report.xml b/app/src/main/res/layout/drawer_report.xml index 7d41773e2..9dfc8abec 100644 --- a/app/src/main/res/layout/drawer_report.xml +++ b/app/src/main/res/layout/drawer_report.xml @@ -70,6 +70,7 @@