diff options
Diffstat (limited to 'app/src/main/java/app/fedilab/android/fragments/DisplayAdminReportsFragment.java')
-rw-r--r-- | app/src/main/java/app/fedilab/android/fragments/DisplayAdminReportsFragment.java | 74 |
1 files changed, 31 insertions, 43 deletions
diff --git a/app/src/main/java/app/fedilab/android/fragments/DisplayAdminReportsFragment.java b/app/src/main/java/app/fedilab/android/fragments/DisplayAdminReportsFragment.java index c08cb9cb7..27b0878d4 100644 --- a/app/src/main/java/app/fedilab/android/fragments/DisplayAdminReportsFragment.java +++ b/app/src/main/java/app/fedilab/android/fragments/DisplayAdminReportsFragment.java @@ -14,10 +14,9 @@ package app.fedilab.android.fragments; * You should have received a copy of the GNU General Public License along with Fedilab; if not, * see <http://www.gnu.org/licenses>. */ -import android.app.AlertDialog; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; +import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; import android.view.LayoutInflater; @@ -27,24 +26,27 @@ import android.widget.RelativeLayout; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; +import org.jetbrains.annotations.NotNull; + import java.util.ArrayList; import java.util.List; import app.fedilab.android.R; import app.fedilab.android.activities.LoginActivity; import app.fedilab.android.asynctasks.PostAdminActionAsyncTask; -import app.fedilab.android.asynctasks.RetrieveAccountsAsyncTask; import app.fedilab.android.client.API; import app.fedilab.android.client.APIResponse; import app.fedilab.android.client.Entities.AdminAction; import app.fedilab.android.client.Entities.Report; import app.fedilab.android.drawers.ReportsListAdapter; +import app.fedilab.android.helper.Helper; import app.fedilab.android.interfaces.OnAdminActionInterface; import es.dmoral.toasty.Toasty; @@ -59,9 +61,7 @@ public class DisplayAdminReportsFragment extends Fragment implements OnAdminActi private Context context; private AsyncTask<Void, Void, Void> asyncTask; private ReportsListAdapter reportsListAdapter; - private String max_id; private List<Report> reports; - private RetrieveAccountsAsyncTask.Type type; private RelativeLayout mainLoader, nextElementLoader, textviewNoAction; private boolean firstLoad; private SwipeRefreshLayout swipeRefreshLayout; @@ -82,7 +82,6 @@ public class DisplayAdminReportsFragment extends Fragment implements OnAdminActi if (bundle != null) { unresolved = bundle.getBoolean("unresolved", true); } - max_id = null; firstLoad = true; flag_loading = true; swiped = false; @@ -109,7 +108,7 @@ public class DisplayAdminReportsFragment extends Fragment implements OnAdminActi mLayoutManager = new LinearLayoutManager(context); lv_reports.setLayoutManager(mLayoutManager); lv_reports.addOnScrollListener(new RecyclerView.OnScrollListener() { - public void onScrolled(RecyclerView recyclerView, int dx, int dy) { + public void onScrolled(@NotNull RecyclerView recyclerView, int dx, int dy) { if (dy > 0) { int visibleItemCount = mLayoutManager.getChildCount(); int totalItemCount = mLayoutManager.getItemCount(); @@ -129,18 +128,14 @@ public class DisplayAdminReportsFragment extends Fragment implements OnAdminActi } }); - swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - max_id = null; - reports = new ArrayList<>(); - firstLoad = true; - flag_loading = true; - swiped = true; - AdminAction adminAction = new AdminAction(); - adminAction.setUnresolved(unresolved); - asyncTask = new PostAdminActionAsyncTask(context, API.adminAction.GET_REPORTS, null, adminAction, DisplayAdminReportsFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - } + swipeRefreshLayout.setOnRefreshListener(() -> { + reports = new ArrayList<>(); + firstLoad = true; + flag_loading = true; + swiped = true; + AdminAction adminAction = new AdminAction(); + adminAction.setUnresolved(unresolved); + asyncTask = new PostAdminActionAsyncTask(context, API.adminAction.GET_REPORTS, null, adminAction, DisplayAdminReportsFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); }); AdminAction adminAction = new AdminAction(); @@ -155,15 +150,8 @@ public class DisplayAdminReportsFragment extends Fragment implements OnAdminActi } - /** - * Refresh report in list - */ - public void refreshFilter() { - reportsListAdapter.notifyDataSetChanged(); - } - @Override - public void onAttach(Context context) { + public void onAttach(@NotNull Context context) { super.onAttach(context); this.context = context; } @@ -191,22 +179,24 @@ public class DisplayAdminReportsFragment extends Fragment implements OnAdminActi //Admin right not granted through the API? if (apiResponse.getError().getStatusCode() == 403) { AlertDialog.Builder builderInner; - builderInner = new AlertDialog.Builder(context, R.style.AppThemeDark); + SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, android.content.Context.MODE_PRIVATE); + int theme = sharedpreferences.getInt(Helper.SET_THEME, Helper.THEME_DARK); + int style; + if (theme == Helper.THEME_DARK) { + style = R.style.DialogDark; + } else if (theme == Helper.THEME_BLACK) { + style = R.style.DialogBlack; + } else { + style = R.style.Dialog; + } + builderInner = new AlertDialog.Builder(context, style); builderInner.setTitle(R.string.reconnect_account); builderInner.setMessage(R.string.reconnect_account_message); - builderInner.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.dismiss(); - } - }); - builderInner.setPositiveButton(R.string.validate, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - Intent intent = new Intent(context, LoginActivity.class); - intent.putExtra("admin", true); - context.startActivity(intent); - } + builderInner.setNegativeButton(R.string.cancel, (dialog, which) -> dialog.dismiss()); + builderInner.setPositiveButton(R.string.validate, (dialog, which) -> { + Intent intent = new Intent(context, LoginActivity.class); + intent.putExtra("admin", true); + context.startActivity(intent); }); builderInner.show(); } else { @@ -226,8 +216,6 @@ public class DisplayAdminReportsFragment extends Fragment implements OnAdminActi else textviewNoAction.setVisibility(View.GONE); - max_id = apiResponse.getMax_id(); - if (swiped) { reportsListAdapter = new ReportsListAdapter(this.reports); lv_reports.setAdapter(reportsListAdapter); |