Commit b5a304be authored by Thomas's avatar Thomas
Browse files

Add some endpoints + ui

parent f96de62f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -201,7 +201,7 @@
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/account" />
        <activity
            android:name=".activities.AdminAccountActivity"
            android:name=".activities.admin.AdminAccountActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/account" />
        <activity
@@ -210,7 +210,7 @@
            android:label="@string/account"
            android:theme="@style/AppThemeBar" />
        <activity
            android:name=".activities.AdminReportActivity"
            android:name=".activities.admin.AdminReportActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/report"
            android:theme="@style/AppThemeBar" />
@@ -259,7 +259,7 @@
            android:label="@string/interactions"
            android:theme="@style/AppThemeBar" />
        <activity
            android:name=".activities.AdminActionActivity"
            android:name=".activities.admin.AdminActionActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:label="@string/administration"
            android:theme="@style/AppThemeBar" />
+1 −1
Original line number Diff line number Diff line
@@ -95,7 +95,6 @@ import java.util.regex.Pattern;

import app.fedilab.android.activities.AboutActivity;
import app.fedilab.android.activities.ActionActivity;
import app.fedilab.android.activities.AdminActionActivity;
import app.fedilab.android.activities.AnnouncementActivity;
import app.fedilab.android.activities.BaseActivity;
import app.fedilab.android.activities.CacheActivity;
@@ -119,6 +118,7 @@ import app.fedilab.android.activities.SearchResultTabActivity;
import app.fedilab.android.activities.SettingsActivity;
import app.fedilab.android.activities.SuggestionActivity;
import app.fedilab.android.activities.TrendsActivity;
import app.fedilab.android.activities.admin.AdminActionActivity;
import app.fedilab.android.broadcastreceiver.NetworkStateReceiver;
import app.fedilab.android.client.entities.api.Emoji;
import app.fedilab.android.client.entities.api.EmojiInstance;
+7 −2
Original line number Diff line number Diff line
package app.fedilab.android.activities;
package app.fedilab.android.activities.admin;
/* Copyright 2022 Thomas Schneider
 *
 * This file is a part of Fedilab
@@ -54,8 +54,13 @@ import java.util.concurrent.TimeUnit;

import app.fedilab.android.BaseMainActivity;
import app.fedilab.android.R;
import app.fedilab.android.activities.BaseActivity;
import app.fedilab.android.activities.InstanceProfileActivity;
import app.fedilab.android.activities.MainActivity;
import app.fedilab.android.activities.MediaActivity;
import app.fedilab.android.client.entities.api.Attachment;
import app.fedilab.android.client.entities.api.admin.AdminAccount;
import app.fedilab.android.client.entities.api.admin.AdminIp;
import app.fedilab.android.databinding.ActivityAdminAccountBinding;
import app.fedilab.android.helper.Helper;
import app.fedilab.android.helper.MastodonHelper;
@@ -204,7 +209,7 @@ public class AdminAccountActivity extends BaseActivity {
        StringBuilder lastActive = new StringBuilder();
        if (adminAccount.ips != null) {
            int count = 0;
            for (AdminAccount.IP ip : adminAccount.ips) {
            for (AdminIp ip : adminAccount.ips) {
                lastActive.append(Helper.shortDateToString(ip.used_at)).append(" - ").append(ip.ip).append("\r\n");
                count++;
                if (count > 4) {
+32 −10
Original line number Diff line number Diff line
package app.fedilab.android.activities;
package app.fedilab.android.activities.admin;
/* Copyright 2022 Thomas Schneider
 *
 * This file is a part of Fedilab
@@ -14,7 +14,9 @@ package app.fedilab.android.activities;
 * You should have received a copy of the GNU General Public License along with Fedilab; if not,
 * see <http://www.gnu.org/licenses>. */

import static app.fedilab.android.activities.AdminActionActivity.AdminEnum.REPORT;
import static app.fedilab.android.activities.admin.AdminActionActivity.AdminEnum.ACCOUNT;
import static app.fedilab.android.activities.admin.AdminActionActivity.AdminEnum.DOMAIN;
import static app.fedilab.android.activities.admin.AdminActionActivity.AdminEnum.REPORT;

import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
@@ -31,12 +33,14 @@ import androidx.fragment.app.FragmentTransaction;
import com.google.gson.annotations.SerializedName;

import app.fedilab.android.R;
import app.fedilab.android.activities.BaseActivity;
import app.fedilab.android.databinding.ActivityAdminActionsBinding;
import app.fedilab.android.databinding.PopupAdminFilterAccountsBinding;
import app.fedilab.android.databinding.PopupAdminFilterReportsBinding;
import app.fedilab.android.helper.Helper;
import app.fedilab.android.helper.ThemeHelper;
import app.fedilab.android.ui.fragment.admin.FragmentAdminAccount;
import app.fedilab.android.ui.fragment.admin.FragmentAdminDomain;
import app.fedilab.android.ui.fragment.admin.FragmentAdminReport;

public class AdminActionActivity extends BaseActivity {
@@ -47,6 +51,7 @@ public class AdminActionActivity extends BaseActivity {
    private boolean canGoBack;
    private FragmentAdminReport fragmentAdminReport;
    private FragmentAdminAccount fragmentAdminAccount;
    private FragmentAdminDomain fragmentAdminDomain;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -61,13 +66,13 @@ public class AdminActionActivity extends BaseActivity {
        }
        canGoBack = false;
        binding.reports.setOnClickListener(v -> displayTimeline(REPORT));
        binding.accounts.setOnClickListener(v -> displayTimeline(AdminEnum.ACCOUNT));
        binding.accounts.setOnClickListener(v -> displayTimeline(ACCOUNT));
        binding.domains.setOnClickListener(v -> displayTimeline(DOMAIN));
    }

    private void displayTimeline(AdminEnum type) {
        canGoBack = true;
        if (type == REPORT) {

            ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
                fragmentAdminReport = new FragmentAdminReport();
                Bundle bundle = new Bundle();
@@ -80,9 +85,7 @@ public class AdminActionActivity extends BaseActivity {
                fragmentTransaction.replace(R.id.fragment_container, fragmentAdminReport);
                fragmentTransaction.commit();
            });

        } else {

        } else if (type == ACCOUNT) {
            ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
                fragmentAdminAccount = new FragmentAdminAccount();
                Bundle bundle = new Bundle();
@@ -95,7 +98,19 @@ public class AdminActionActivity extends BaseActivity {
                fragmentTransaction.replace(R.id.fragment_container, fragmentAdminAccount);
                fragmentTransaction.commit();
            });

        } else if (type == DOMAIN) {
            ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
                fragmentAdminDomain = new FragmentAdminDomain();
                Bundle bundle = new Bundle();
                bundle.putSerializable(Helper.ARG_TIMELINE_TYPE, type);
                bundle.putString(Helper.ARG_VIEW_MODEL_KEY, "FEDILAB_" + type.getValue());
                fragmentAdminDomain.setArguments(bundle);
                FragmentManager fragmentManager = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction =
                        fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.fragment_container, fragmentAdminDomain);
                fragmentTransaction.commit();
            });
        }
        switch (type) {
            case REPORT:
@@ -104,6 +119,9 @@ public class AdminActionActivity extends BaseActivity {
            case ACCOUNT:
                setTitle(R.string.accounts);
                break;
            case DOMAIN:
                setTitle(R.string.domains);
                break;
        }
        invalidateOptionsMenu();
    }
@@ -283,6 +301,9 @@ public class AdminActionActivity extends BaseActivity {
                if (fragmentAdminAccount != null) {
                    fragmentAdminAccount.onDestroyView();
                }
                if (fragmentAdminDomain != null) {
                    fragmentAdminDomain.onDestroyView();
                }
                setTitle(R.string.administration);
                invalidateOptionsMenu();
            });
@@ -296,8 +317,9 @@ public class AdminActionActivity extends BaseActivity {
        @SerializedName("REPORT")
        REPORT("REPORT"),
        @SerializedName("ACCOUNT")
        ACCOUNT("ACCOUNT");

        ACCOUNT("ACCOUNT"),
        @SerializedName("DOMAIN")
        DOMAIN("DOMAIN");
        private final String value;

        AdminEnum(String value) {
+6 −2
Original line number Diff line number Diff line
package app.fedilab.android.activities;
package app.fedilab.android.activities.admin;
/* Copyright 2022 Thomas Schneider
 *
 * This file is a part of Fedilab
@@ -55,9 +55,13 @@ import java.util.concurrent.TimeUnit;

import app.fedilab.android.BaseMainActivity;
import app.fedilab.android.R;
import app.fedilab.android.activities.BaseActivity;
import app.fedilab.android.activities.InstanceProfileActivity;
import app.fedilab.android.activities.MediaActivity;
import app.fedilab.android.client.entities.api.Account;
import app.fedilab.android.client.entities.api.Attachment;
import app.fedilab.android.client.entities.api.admin.AdminAccount;
import app.fedilab.android.client.entities.api.admin.AdminIp;
import app.fedilab.android.databinding.ActivityAdminAccountBinding;
import app.fedilab.android.helper.Helper;
import app.fedilab.android.helper.MastodonHelper;
@@ -141,7 +145,7 @@ public class AdminReportActivity extends BaseActivity {
        binding.email.setText(adminAccount.email);
        StringBuilder lastActive = new StringBuilder();
        if (adminAccount.ips != null) {
            for (AdminAccount.IP ip : adminAccount.ips) {
            for (AdminIp ip : adminAccount.ips) {
                lastActive.append(Helper.shortDateToString(ip.used_at)).append(" - ").append(ip.ip).append("\r\n");
            }
        }
Loading