Commit 2a675da7 authored by Thomas's avatar Thomas
Browse files

Merge branch 'develop'

parents 12981dea 4ec3a430
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -13,8 +13,8 @@ android {
    defaultConfig {
        minSdk 21
        targetSdk 32
        versionCode 446
        versionName "3.11.0"
        versionCode 448
        versionName "3.11.2"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    flavorDimensions "default"
+5 −0
Original line number Diff line number Diff line
[
  {
    "version": "3.11.2",
    "code": "448",
    "note": "Added:\n- Mute/Unmute accounts in the Home timeline from their messages or their profiles\n- Add all users from a list to \"Muted home\" in one click\n- Display/Manage users that are muted for home\n\nFixed:\n- Timeline crashes"
  },
  {
    "version": "3.11.0",
    "code": "446",
+7 −1
Original line number Diff line number Diff line
@@ -127,6 +127,7 @@ import app.fedilab.android.client.entities.api.Status;
import app.fedilab.android.client.entities.app.Account;
import app.fedilab.android.client.entities.app.BaseAccount;
import app.fedilab.android.client.entities.app.BottomMenu;
import app.fedilab.android.client.entities.app.MutedAccounts;
import app.fedilab.android.client.entities.app.Pinned;
import app.fedilab.android.client.entities.app.PinnedTimeline;
import app.fedilab.android.client.entities.app.StatusCache;
@@ -164,6 +165,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
    public static status networkAvailable = UNKNOWN;
    public static Instance instanceInfo;
    public static List<Filter> mainFilters;
    public static List<app.fedilab.android.client.entities.api.Account> filteredAccounts;
    public static boolean filterFetched;
    public static boolean show_boosts, show_replies, show_art_nsfw;
    public static String regex_home, regex_local, regex_public;
@@ -302,7 +304,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
        } else {
            BaseMainActivity.currentToken = sharedpreferences.getString(Helper.PREF_USER_TOKEN, null);
        }

        filteredAccounts = new ArrayList<>();
        mamageNewIntent(getIntent());
        filterFetched = false;
        networkStateReceiver = new NetworkStateReceiver();
@@ -565,6 +567,10 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
                currentAccount = new Account(BaseMainActivity.this).getConnectedAccount();
                //Delete cache older than 7 days
                new StatusCache(BaseMainActivity.this).deleteForAllAccountAfter7Days();
                MutedAccounts mutedAccounts = new MutedAccounts(BaseMainActivity.this).getMutedAccount(currentAccount);
                if (mutedAccounts != null && mutedAccounts.accounts != null) {
                    filteredAccounts = mutedAccounts.accounts;
                }
            } catch (DBException e) {
                e.printStackTrace();
            }
+5 −1
Original line number Diff line number Diff line
@@ -54,11 +54,12 @@ public class ActionActivity extends BaseBarActivity {
        binding.muted.setOnClickListener(v -> displayTimeline(Timeline.TimeLineEnum.MUTED_TIMELINE));
        binding.blocked.setOnClickListener(v -> displayTimeline(Timeline.TimeLineEnum.BLOCKED_TIMELINE));
        binding.domainBlock.setOnClickListener(v -> displayTimeline(Timeline.TimeLineEnum.BLOCKED_DOMAIN_TIMELINE));
        binding.mutedHome.setOnClickListener(v -> displayTimeline(Timeline.TimeLineEnum.MUTED_TIMELINE_HOME));
    }

    private void displayTimeline(Timeline.TimeLineEnum type) {
        canGoBack = true;
        if (type == Timeline.TimeLineEnum.MUTED_TIMELINE || type == Timeline.TimeLineEnum.BLOCKED_TIMELINE) {
        if (type == Timeline.TimeLineEnum.MUTED_TIMELINE || type == Timeline.TimeLineEnum.BLOCKED_TIMELINE || type == Timeline.TimeLineEnum.MUTED_TIMELINE_HOME) {

            ThemeHelper.slideViewsToLeft(binding.buttonContainer, binding.fragmentContainer, () -> {
                fragmentMastodonAccount = new FragmentMastodonAccount();
@@ -114,6 +115,9 @@ public class ActionActivity extends BaseBarActivity {
            case BLOCKED_DOMAIN_TIMELINE:
                setTitle(R.string.blocked_domains);
                break;
            case MUTED_TIMELINE_HOME:
                setTitle(R.string.muted_menu_home);
                break;
        }
    }

+16 −0
Original line number Diff line number Diff line
@@ -143,6 +143,22 @@ public class MastodonListActivity extends BaseBarActivity implements MastodonLis
        if (item.getItemId() == android.R.id.home) {
            onBackPressed();
            return true;
        } else if (item.getItemId() == R.id.action_user_mute_home) {
            AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MastodonListActivity.this, Helper.dialogStyle());
            dialogBuilder.setTitle(R.string.put_all_accounts_in_home_muted);
            dialogBuilder.setPositiveButton(R.string.mute_them_all, (dialog, id) -> {
                timelinesVM.getAccountsInList(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, mastodonList.id, null, null, 0)
                        .observe(MastodonListActivity.this, accounts -> {
                            if (accounts != null && accounts.size() > 0) {
                                for (Account account : accounts) {
                                    accountsVM.muteHome(MainActivity.currentAccount, account);
                                }
                            }
                        });
                dialog.dismiss();
            });
            dialogBuilder.setNegativeButton(R.string.cancel, (dialog, id) -> dialog.dismiss());
            dialogBuilder.show();
        } else if (item.getItemId() == R.id.action_manage_users) {
            AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MastodonListActivity.this, Helper.dialogStyle());
            PopupManageAccountsListBinding popupManageAccountsListBinding = PopupManageAccountsListBinding.inflate(getLayoutInflater());
Loading