Loading app/src/main/java/app/fedilab/android/activities/StatusInfoActivity.java +25 −0 Original line number Diff line number Diff line Loading @@ -33,11 +33,13 @@ import app.fedilab.android.BaseMainActivity; import app.fedilab.android.R; import app.fedilab.android.client.entities.api.Account; import app.fedilab.android.client.entities.api.Accounts; import app.fedilab.android.client.entities.api.RelationShip; import app.fedilab.android.client.entities.api.Status; import app.fedilab.android.databinding.ActivityStatusInfoBinding; import app.fedilab.android.helper.Helper; import app.fedilab.android.helper.ThemeHelper; import app.fedilab.android.ui.drawer.AccountAdapter; import app.fedilab.android.viewmodel.mastodon.AccountsVM; import app.fedilab.android.viewmodel.mastodon.StatusesVM; Loading Loading @@ -115,6 +117,8 @@ public class StatusInfoActivity extends BaseActivity { private void manageView(Accounts accounts) { binding.loadingNextAccounts.setVisibility(View.GONE); if (accountList != null && accounts != null && accounts.accounts != null) { int position = this.accountList.size(); fetchRelationShip(accounts.accounts, position); int startId = 0; //There are some statuses present in the timeline if (accountList.size() > 0) { Loading @@ -127,6 +131,27 @@ public class StatusInfoActivity extends BaseActivity { } } private void fetchRelationShip(List<Account> accounts, int position) { List<String> ids = new ArrayList<>(); for (Account account : accounts) { ids.add(account.id); } AccountsVM accountsVM = new ViewModelProvider(StatusInfoActivity.this).get(AccountsVM.class); accountsVM.getRelationships(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, ids) .observe(StatusInfoActivity.this, relationShips -> { if (relationShips != null) { for (RelationShip relationShip : relationShips) { for (Account account : accounts) { if (account.id.compareToIgnoreCase(relationShip.id) == 0) { account.relationShip = relationShip; } } } accountAdapter.notifyItemRangeChanged(position, accounts.size()); } }); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { Loading app/src/main/java/app/fedilab/android/ui/drawer/AccountAdapter.java +6 −5 Original line number Diff line number Diff line Loading @@ -79,7 +79,12 @@ public class AccountAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder // start the new activity context.startActivity(intent, options.toBundle()); }); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.block); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.mute); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteNotification); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteTimed); accountViewHolder.binding.followAction.setIconResource(R.drawable.ic_baseline_person_add_24); accountViewHolder.binding.followAction.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(context, R.color.cyanea_accent_dark_reference))); if (account.relationShip != null) { ProfileActivity.action doAction = ProfileActivity.action.FOLLOW; Loading Loading @@ -111,10 +116,6 @@ public class AccountAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder accountViewHolder.binding.followAction.setIconResource(R.drawable.ic_baseline_person_add_24); accountViewHolder.binding.followAction.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(context, R.color.cyanea_accent_dark_reference))); } ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.block); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.mute); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteNotification); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteTimed); if (account.relationShip.blocking) { Loading app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +2 −0 Original line number Diff line number Diff line Loading @@ -208,6 +208,8 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } else { router(null); } } else { router(null); } if (timelineStatuses != null && timelineStatuses.size() > 0) { route(DIRECTION.FETCH_NEW, true); Loading Loading
app/src/main/java/app/fedilab/android/activities/StatusInfoActivity.java +25 −0 Original line number Diff line number Diff line Loading @@ -33,11 +33,13 @@ import app.fedilab.android.BaseMainActivity; import app.fedilab.android.R; import app.fedilab.android.client.entities.api.Account; import app.fedilab.android.client.entities.api.Accounts; import app.fedilab.android.client.entities.api.RelationShip; import app.fedilab.android.client.entities.api.Status; import app.fedilab.android.databinding.ActivityStatusInfoBinding; import app.fedilab.android.helper.Helper; import app.fedilab.android.helper.ThemeHelper; import app.fedilab.android.ui.drawer.AccountAdapter; import app.fedilab.android.viewmodel.mastodon.AccountsVM; import app.fedilab.android.viewmodel.mastodon.StatusesVM; Loading Loading @@ -115,6 +117,8 @@ public class StatusInfoActivity extends BaseActivity { private void manageView(Accounts accounts) { binding.loadingNextAccounts.setVisibility(View.GONE); if (accountList != null && accounts != null && accounts.accounts != null) { int position = this.accountList.size(); fetchRelationShip(accounts.accounts, position); int startId = 0; //There are some statuses present in the timeline if (accountList.size() > 0) { Loading @@ -127,6 +131,27 @@ public class StatusInfoActivity extends BaseActivity { } } private void fetchRelationShip(List<Account> accounts, int position) { List<String> ids = new ArrayList<>(); for (Account account : accounts) { ids.add(account.id); } AccountsVM accountsVM = new ViewModelProvider(StatusInfoActivity.this).get(AccountsVM.class); accountsVM.getRelationships(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, ids) .observe(StatusInfoActivity.this, relationShips -> { if (relationShips != null) { for (RelationShip relationShip : relationShips) { for (Account account : accounts) { if (account.id.compareToIgnoreCase(relationShip.id) == 0) { account.relationShip = relationShip; } } } accountAdapter.notifyItemRangeChanged(position, accounts.size()); } }); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { Loading
app/src/main/java/app/fedilab/android/ui/drawer/AccountAdapter.java +6 −5 Original line number Diff line number Diff line Loading @@ -79,7 +79,12 @@ public class AccountAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder // start the new activity context.startActivity(intent, options.toBundle()); }); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.block); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.mute); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteNotification); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteTimed); accountViewHolder.binding.followAction.setIconResource(R.drawable.ic_baseline_person_add_24); accountViewHolder.binding.followAction.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(context, R.color.cyanea_accent_dark_reference))); if (account.relationShip != null) { ProfileActivity.action doAction = ProfileActivity.action.FOLLOW; Loading Loading @@ -111,10 +116,6 @@ public class AccountAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder accountViewHolder.binding.followAction.setIconResource(R.drawable.ic_baseline_person_add_24); accountViewHolder.binding.followAction.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(context, R.color.cyanea_accent_dark_reference))); } ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.block); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.mute); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteNotification); ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteTimed); if (account.relationShip.blocking) { Loading
app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +2 −0 Original line number Diff line number Diff line Loading @@ -208,6 +208,8 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } else { router(null); } } else { router(null); } if (timelineStatuses != null && timelineStatuses.size() > 0) { route(DIRECTION.FETCH_NEW, true); Loading