hopefully prevent some crashes

This commit is contained in:
sk
2023-01-25 19:23:43 -03:00
committed by LucasGGamerM
parent 7cc791ccd9
commit fc49c20fff
32 changed files with 60 additions and 26 deletions

View File

@@ -60,8 +60,7 @@ public class AccountTimelineFragment extends StatusListFragment{
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(List<Status> result){ public void onSuccess(List<Status> result){
if(getActivity()==null) if(getActivity()==null) return;
return;
onDataLoaded(result, !result.isEmpty()); onDataLoaded(result, !result.isEmpty());
} }
}) })

View File

@@ -92,6 +92,7 @@ public class AnnouncementsFragment extends BaseStatusListFragment<Announcement>
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(List<Announcement> result){ public void onSuccess(List<Announcement> result){
if (getActivity() == null) return;
List<Announcement> unread = result.stream().filter(a -> !a.read).collect(toList()); List<Announcement> unread = result.stream().filter(a -> !a.read).collect(toList());
List<Announcement> read = result.stream().filter(a -> a.read).collect(toList()); List<Announcement> read = result.stream().filter(a -> a.read).collect(toList());
onDataLoaded(unread, true); onDataLoaded(unread, true);

View File

@@ -25,6 +25,7 @@ public class BookmarkedStatusListFragment extends StatusListFragment{
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(HeaderPaginationList<Status> result){ public void onSuccess(HeaderPaginationList<Status> result){
if (getActivity() == null) return;
if(result.nextPageUri!=null) if(result.nextPageUri!=null)
nextMaxID=result.nextPageUri.getQueryParameter("max_id"); nextMaxID=result.nextPageUri.getQueryParameter("max_id");
else else

View File

@@ -146,6 +146,7 @@ public class EditTimelinesFragment extends BaseRecyclerFragment<TimelineDefiniti
} }
private void updateOptionsMenu() { private void updateOptionsMenu() {
if (getActivity() == null) return;
optionsMenu.clear(); optionsMenu.clear();
timelineByMenuItem.clear(); timelineByMenuItem.clear();

View File

@@ -25,6 +25,7 @@ public class FavoritedStatusListFragment extends StatusListFragment{
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(HeaderPaginationList<Status> result){ public void onSuccess(HeaderPaginationList<Status> result){
if (getActivity() == null) return;
if(result.nextPageUri!=null) if(result.nextPageUri!=null)
nextMaxID=result.nextPageUri.getQueryParameter("max_id"); nextMaxID=result.nextPageUri.getQueryParameter("max_id");
else else

View File

@@ -80,6 +80,7 @@ public class FollowRequestsListFragment extends BaseRecyclerFragment<FollowReque
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(HeaderPaginationList<Account> result){ public void onSuccess(HeaderPaginationList<Account> result){
if (getActivity() == null) return;
if(result.nextPageUri!=null) if(result.nextPageUri!=null)
nextMaxID=result.nextPageUri.getQueryParameter("max_id"); nextMaxID=result.nextPageUri.getQueryParameter("max_id");
else else

View File

@@ -55,6 +55,7 @@ public class FollowedHashtagsFragment extends BaseRecyclerFragment<Hashtag> impl
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(HeaderPaginationList<Hashtag> result){ public void onSuccess(HeaderPaginationList<Hashtag> result){
if (getActivity() == null) return;
if(result.nextPageUri!=null) if(result.nextPageUri!=null)
nextMaxID=result.nextPageUri.getQueryParameter("max_id"); nextMaxID=result.nextPageUri.getQueryParameter("max_id");
else else

View File

@@ -70,6 +70,7 @@ public class HashtagTimelineFragment extends PinnableStatusListFragment {
new GetHashtag(hashtag).setCallback(new Callback<>() { new GetHashtag(hashtag).setCallback(new Callback<>() {
@Override @Override
public void onSuccess(Hashtag hashtag) { public void onSuccess(Hashtag hashtag) {
if (getActivity() == null) return;
updateTitle(hashtag.name); updateTitle(hashtag.name);
updateFollowingState(hashtag.following); updateFollowingState(hashtag.following);
} }
@@ -91,6 +92,7 @@ public class HashtagTimelineFragment extends PinnableStatusListFragment {
new SetHashtagFollowed(hashtag, following).setCallback(new Callback<>() { new SetHashtagFollowed(hashtag, following).setCallback(new Callback<>() {
@Override @Override
public void onSuccess(Hashtag i) { public void onSuccess(Hashtag i) {
if (getActivity() == null) return;
if (i.following == following) Toast.makeText(getActivity(), getString(i.following ? R.string.followed_user : R.string.unfollowed_user, "#" + i.name), Toast.LENGTH_SHORT).show(); if (i.following == following) Toast.makeText(getActivity(), getString(i.following ? R.string.followed_user : R.string.unfollowed_user, "#" + i.name), Toast.LENGTH_SHORT).show();
updateFollowingState(i.following); updateFollowingState(i.following);
} }
@@ -117,6 +119,7 @@ public class HashtagTimelineFragment extends PinnableStatusListFragment {
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(List<Status> result){ public void onSuccess(List<Status> result){
if (getActivity() == null) return;
onDataLoaded(result, !result.isEmpty()); onDataLoaded(result, !result.isEmpty());
} }
}) })

View File

@@ -265,6 +265,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
new GetAnnouncements(false).setCallback(new Callback<>() { new GetAnnouncements(false).setCallback(new Callback<>() {
@Override @Override
public void onSuccess(List<Announcement> result) { public void onSuccess(List<Announcement> result) {
if (getActivity() == null) return;
if (result.stream().anyMatch(a -> !a.read)) { if (result.stream().anyMatch(a -> !a.read)) {
announcementsBadged = true; announcementsBadged = true;
announcements.setVisible(false); announcements.setVisible(false);
@@ -338,6 +339,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
} }
private void updateOverflowMenu() { private void updateOverflowMenu() {
if (getActivity() == null) return;
Menu m = overflowPopup.getMenu(); Menu m = overflowPopup.getMenu();
m.clear(); m.clear();
overflowPopup.inflate(R.menu.home_overflow); overflowPopup.inflate(R.menu.home_overflow);

View File

@@ -58,8 +58,7 @@ public class HomeTimelineFragment extends FabStatusListFragment {
.getHomeTimeline(offset>0 ? maxID : null, count, refreshing, new SimpleCallback<>(this){ .getHomeTimeline(offset>0 ? maxID : null, count, refreshing, new SimpleCallback<>(this){
@Override @Override
public void onSuccess(CacheablePaginatedResponse<List<Status>> result){ public void onSuccess(CacheablePaginatedResponse<List<Status>> result){
if(getActivity()==null) if (getActivity() == null) return;
return;
List<Status> filteredItems = filterPosts(result.items); List<Status> filteredItems = filterPosts(result.items);
onDataLoaded(filteredItems, !result.items.isEmpty()); onDataLoaded(filteredItems, !result.items.isEmpty());
maxID=result.maxID; maxID=result.maxID;

View File

@@ -59,6 +59,7 @@ public class ListTimelineFragment extends PinnableStatusListFragment {
new GetList(listID).setCallback(new Callback<>() { new GetList(listID).setCallback(new Callback<>() {
@Override @Override
public void onSuccess(ListTimeline listTimeline) { public void onSuccess(ListTimeline listTimeline) {
if (getActivity() == null) return;
// TODO: save updated info // TODO: save updated info
if (!listTimeline.title.equals(listTitle)) setTitle(listTimeline.title); if (!listTimeline.title.equals(listTitle)) setTitle(listTimeline.title);
if (listTimeline.repliesPolicy != null && !listTimeline.repliesPolicy.equals(repliesPolicy)) { if (listTimeline.repliesPolicy != null && !listTimeline.repliesPolicy.equals(repliesPolicy)) {
@@ -96,6 +97,7 @@ public class ListTimelineFragment extends PinnableStatusListFragment {
new UpdateList(listID, newTitle, editor.getRepliesPolicy()).setCallback(new Callback<>() { new UpdateList(listID, newTitle, editor.getRepliesPolicy()).setCallback(new Callback<>() {
@Override @Override
public void onSuccess(ListTimeline list) { public void onSuccess(ListTimeline list) {
if (getActivity() == null) return;
setTitle(list.title); setTitle(list.title);
listTitle = list.title; listTitle = list.title;
repliesPolicy = list.repliesPolicy; repliesPolicy = list.repliesPolicy;
@@ -131,6 +133,7 @@ public class ListTimelineFragment extends PinnableStatusListFragment {
.setCallback(new SimpleCallback<>(this) { .setCallback(new SimpleCallback<>(this) {
@Override @Override
public void onSuccess(List<Status> result) { public void onSuccess(List<Status> result) {
if (getActivity() == null) return;
onDataLoaded(result, !result.isEmpty()); onDataLoaded(result, !result.isEmpty());
} }
}) })

View File

@@ -140,24 +140,26 @@ public class ListTimelinesFragment extends BaseRecyclerFragment<ListTimeline> im
.setCallback(new SimpleCallback<>(this) { .setCallback(new SimpleCallback<>(this) {
@Override @Override
public void onSuccess(List<ListTimeline> lists) { public void onSuccess(List<ListTimeline> lists) {
if (getActivity() == null) return;
for (ListTimeline l : lists) userInListBefore.put(l.id, true); for (ListTimeline l : lists) userInListBefore.put(l.id, true);
userInList.putAll(userInListBefore); userInList.putAll(userInListBefore);
if (profileAccountId == null || !lists.isEmpty()) onDataLoaded(lists, false); if (profileAccountId == null || !lists.isEmpty()) onDataLoaded(lists, false);
if (profileAccountId == null) return; if (profileAccountId == null) return;
currentRequest=new GetLists().setCallback(new SimpleCallback<>(ListTimelinesFragment.this) { currentRequest=new GetLists().setCallback(new SimpleCallback<>(ListTimelinesFragment.this) {
@Override @Override
public void onSuccess(List<ListTimeline> allLists) { public void onSuccess(List<ListTimeline> allLists) {
List<ListTimeline> newLists = new ArrayList<>(); if (getActivity() == null) return;
for (ListTimeline l : allLists) { List<ListTimeline> newLists = new ArrayList<>();
if (lists.stream().noneMatch(e -> e.id.equals(l.id))) newLists.add(l); for (ListTimeline l : allLists) {
if (!userInListBefore.containsKey(l.id)) { if (lists.stream().noneMatch(e -> e.id.equals(l.id))) newLists.add(l);
userInListBefore.put(l.id, false); if (!userInListBefore.containsKey(l.id)) {
} userInListBefore.put(l.id, false);
} }
userInList.putAll(userInListBefore); }
onDataLoaded(newLists, false); userInList.putAll(userInListBefore);
} onDataLoaded(newLists, false);
}
}).exec(accountId); }).exec(accountId);
} }
}) })

View File

@@ -195,6 +195,7 @@ public class NotificationsFragment extends MastodonToolbarFragment implements Sc
new GetFollowRequests(null, 1).setCallback(new Callback<>() { new GetFollowRequests(null, 1).setCallback(new Callback<>() {
@Override @Override
public void onSuccess(HeaderPaginationList<Account> accounts) { public void onSuccess(HeaderPaginationList<Account> accounts) {
if (getActivity() == null) return;
getToolbar().getMenu().findItem(R.id.follow_requests).setVisible(!accounts.isEmpty()); getToolbar().getMenu().findItem(R.id.follow_requests).setVisible(!accounts.isEmpty());
} }

View File

@@ -130,8 +130,7 @@ public class NotificationsListFragment extends BaseStatusListFragment<Notificati
.getNotifications(offset>0 ? maxID : null, count, onlyMentions, onlyPosts, refreshing, new SimpleCallback<>(this){ .getNotifications(offset>0 ? maxID : null, count, onlyMentions, onlyPosts, refreshing, new SimpleCallback<>(this){
@Override @Override
public void onSuccess(PaginatedResponse<List<Notification>> result){ public void onSuccess(PaginatedResponse<List<Notification>> result){
if(getActivity()==null) if (getActivity() == null) return;
return;
if(refreshing) if(refreshing)
relationships.clear(); relationships.clear();
onDataLoaded(result.items.stream().filter(n->n.type!=null).collect(Collectors.toList()), !result.items.isEmpty()); onDataLoaded(result.items.stream().filter(n->n.type!=null).collect(Collectors.toList()), !result.items.isEmpty());

View File

@@ -380,6 +380,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(Account result){ public void onSuccess(Account result){
if (getActivity() == null) return;
account=result; account=result;
isOwnProfile=AccountSessionManager.getInstance().isSelf(accountID, account); isOwnProfile=AccountSessionManager.getInstance().isSelf(accountID, account);
bindHeaderView(); bindHeaderView();
@@ -767,6 +768,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
} }
private void updateRelationship(){ private void updateRelationship(){
if (getActivity() == null) return;
invalidateOptionsMenu(); invalidateOptionsMenu();
actionButton.setVisibility(View.VISIBLE); actionButton.setVisibility(View.VISIBLE);
notifyButton.setVisibility(relationship.following ? View.VISIBLE : View.GONE); notifyButton.setVisibility(relationship.following ? View.VISIBLE : View.GONE);
@@ -780,7 +782,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
setNote(relationship.note); setNote(relationship.note);
aboutFragment.setNote(relationship.note, accountID, profileAccountID); aboutFragment.setNote(relationship.note, accountID, profileAccountID);
} }
if (getActivity() != null) notifyButton.setContentDescription(getString(relationship.notifying ? R.string.sk_user_post_notifications_on : R.string.sk_user_post_notifications_off, '@'+account.username)); notifyButton.setContentDescription(getString(relationship.notifying ? R.string.sk_user_post_notifications_on : R.string.sk_user_post_notifications_off, '@'+account.username));
} }
public ImageButton getFab() { public ImageButton getFab() {
@@ -867,8 +869,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
@Override @Override
public void onSuccess(Account result){ public void onSuccess(Account result){
editModeLoading=false; editModeLoading=false;
if(getActivity()==null) if (getActivity() == null) return;
return;
enterEditMode(result); enterEditMode(result);
setActionProgressVisible(false); setActionProgressVisible(false);
} }
@@ -876,8 +877,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
@Override @Override
public void onError(ErrorResponse error){ public void onError(ErrorResponse error){
editModeLoading=false; editModeLoading=false;
if(getActivity()==null) if (getActivity() == null) return;
return;
error.showToast(getActivity()); error.showToast(getActivity());
setActionProgressVisible(false); setActionProgressVisible(false);
} }
@@ -980,6 +980,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
public void onSuccess(Account result){ public void onSuccess(Account result){
account=result; account=result;
AccountSessionManager.getInstance().updateAccountInfo(accountID, account); AccountSessionManager.getInstance().updateAccountInfo(accountID, account);
if (getActivity() == null) return;
exitEditMode(); exitEditMode();
setActionProgressVisible(false); setActionProgressVisible(false);
} }

View File

@@ -109,6 +109,7 @@ public class ScheduledStatusListFragment extends BaseStatusListFragment<Schedule
nextMaxID=result.nextPageUri.getQueryParameter("max_id"); nextMaxID=result.nextPageUri.getQueryParameter("max_id");
else else
nextMaxID=null; nextMaxID=null;
if (getActivity() == null) return;
onDataLoaded(result, nextMaxID!=null); onDataLoaded(result, nextMaxID!=null);
} }
}) })

View File

@@ -575,6 +575,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
} }
private void onLoggedOut(){ private void onLoggedOut(){
if (getActivity() == null) return;
AccountSessionManager.getInstance().removeAccount(accountID); AccountSessionManager.getInstance().removeAccount(accountID);
getActivity().finish(); getActivity().finish();
Intent intent=new Intent(getActivity(), MainActivity.class); Intent intent=new Intent(getActivity(), MainActivity.class);

View File

@@ -46,6 +46,7 @@ public class StatusEditHistoryFragment extends StatusListFragment{
@Override @Override
public void onSuccess(List<Status> result){ public void onSuccess(List<Status> result){
Collections.sort(result, Comparator.comparing((Status s)->s.createdAt).reversed()); Collections.sort(result, Comparator.comparing((Status s)->s.createdAt).reversed());
if (getActivity() == null) return;
onDataLoaded(result, false); onDataLoaded(result, false);
} }
}) })

View File

@@ -61,8 +61,7 @@ public class ThreadFragment extends StatusListFragment{
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(StatusContext result){ public void onSuccess(StatusContext result){
if(getActivity()==null) if (getActivity() == null) return;
return;
if(refreshing){ if(refreshing){
data.clear(); data.clear();
displayItems.clear(); displayItems.clear();

View File

@@ -101,6 +101,7 @@ public abstract class BaseAccountListFragment extends BaseRecyclerFragment<BaseA
for(Relationship rel:result){ for(Relationship rel:result){
relationships.put(rel.id, rel); relationships.put(rel.id, rel);
} }
if (getActivity() == null) return;
if(list==null) if(list==null)
return; return;
for(int i=0;i<list.getChildCount();i++){ for(int i=0;i<list.getChildCount();i++){
@@ -370,6 +371,7 @@ public abstract class BaseAccountListFragment extends BaseRecyclerFragment<BaseA
@Override @Override
public void onSuccess(Relationship result){ public void onSuccess(Relationship result){
relationships.put(AccountViewHolder.this.item.account.id, result); relationships.put(AccountViewHolder.this.item.account.id, result);
if (getActivity() == null) return;
bindRelationship(); bindRelationship();
} }

View File

@@ -23,6 +23,7 @@ public abstract class PaginatedAccountListFragment extends BaseAccountListFragme
nextMaxID=result.nextPageUri.getQueryParameter("max_id"); nextMaxID=result.nextPageUri.getQueryParameter("max_id");
else else
nextMaxID=null; nextMaxID=null;
if (getActivity() == null) return;
onDataLoaded(result.stream().map(AccountItem::new).collect(Collectors.toList()), nextMaxID!=null); onDataLoaded(result.stream().map(AccountItem::new).collect(Collectors.toList()), nextMaxID!=null);
} }
}) })

View File

@@ -73,6 +73,7 @@ public class DiscoverAccountsFragment extends BaseRecyclerFragment<DiscoverAccou
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(List<FollowSuggestion> result){ public void onSuccess(List<FollowSuggestion> result){
if (getActivity() == null) return;
onDataLoaded(result.stream().map(fs->new AccountWrapper(fs.account)).collect(Collectors.toList()), false); onDataLoaded(result.stream().map(fs->new AccountWrapper(fs.account)).collect(Collectors.toList()), false);
loadRelationships(); loadRelationships();
} }
@@ -107,6 +108,7 @@ public class DiscoverAccountsFragment extends BaseRecyclerFragment<DiscoverAccou
public void onSuccess(List<Relationship> result){ public void onSuccess(List<Relationship> result){
relationshipsRequest=null; relationshipsRequest=null;
relationships=result.stream().collect(Collectors.toMap(rel->rel.id, Function.identity())); relationships=result.stream().collect(Collectors.toMap(rel->rel.id, Function.identity()));
if (getActivity() == null) return;
if(list==null) if(list==null)
return; return;
for(int i=0;i<list.getChildCount();i++){ for(int i=0;i<list.getChildCount();i++){

View File

@@ -58,6 +58,7 @@ public class DiscoverNewsFragment extends BaseRecyclerFragment<Card> implements
imageRequests=result.stream() imageRequests=result.stream()
.map(card->TextUtils.isEmpty(card.image) ? null : new UrlImageLoaderRequest(card.image, V.dp(150), V.dp(150))) .map(card->TextUtils.isEmpty(card.image) ? null : new UrlImageLoaderRequest(card.image, V.dp(150), V.dp(150)))
.collect(Collectors.toList()); .collect(Collectors.toList());
if (getActivity() == null) return;
onDataLoaded(result, false); onDataLoaded(result, false);
} }
}) })

View File

@@ -21,6 +21,7 @@ public class DiscoverPostsFragment extends StatusListFragment{
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(List<Status> result){ public void onSuccess(List<Status> result){
if (getActivity() == null) return;
onDataLoaded(result, !result.isEmpty()); onDataLoaded(result, !result.isEmpty());
} }
}).exec(accountID); }).exec(accountID);

View File

@@ -29,6 +29,7 @@ public class FederatedTimelineFragment extends FabStatusListFragment {
public void onSuccess(List<Status> result){ public void onSuccess(List<Status> result){
if(!result.isEmpty()) if(!result.isEmpty())
maxID=result.get(result.size()-1).id; maxID=result.get(result.size()-1).id;
if (getActivity() == null) return;
onDataLoaded(result.stream().filter(new StatusFilterPredicate(accountID, Filter.FilterContext.PUBLIC)).collect(Collectors.toList()), !result.isEmpty()); onDataLoaded(result.stream().filter(new StatusFilterPredicate(accountID, Filter.FilterContext.PUBLIC)).collect(Collectors.toList()), !result.isEmpty());
} }
}) })

View File

@@ -29,6 +29,7 @@ public class LocalTimelineFragment extends FabStatusListFragment {
public void onSuccess(List<Status> result){ public void onSuccess(List<Status> result){
if(!result.isEmpty()) if(!result.isEmpty())
maxID=result.get(result.size()-1).id; maxID=result.get(result.size()-1).id;
if (getActivity() == null) return;
onDataLoaded(result.stream().filter(new StatusFilterPredicate(accountID, Filter.FilterContext.PUBLIC)).collect(Collectors.toList()), !result.isEmpty()); onDataLoaded(result.stream().filter(new StatusFilterPredicate(accountID, Filter.FilterContext.PUBLIC)).collect(Collectors.toList()), !result.isEmpty());
} }
}) })

View File

@@ -157,6 +157,7 @@ public class SearchFragment extends BaseStatusListFragment<SearchResult>{
} }
prevDisplayItems=new ArrayList<>(displayItems); prevDisplayItems=new ArrayList<>(displayItems);
unfilteredResults=results; unfilteredResults=results;
if (getActivity() == null) return;
onDataLoaded(filterSearchResults(results), false); onDataLoaded(filterSearchResults(results), false);
} }

View File

@@ -43,6 +43,7 @@ public class TrendingHashtagsFragment extends BaseRecyclerFragment<Hashtag> impl
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(List<Hashtag> result){ public void onSuccess(List<Hashtag> result){
if (getActivity() == null) return;
onDataLoaded(result, false); onDataLoaded(result, false);
} }
}) })

View File

@@ -89,6 +89,7 @@ public class ReportAddPostsChoiceFragment extends StatusListFragment{
.setCallback(new SimpleCallback<>(this){ .setCallback(new SimpleCallback<>(this){
@Override @Override
public void onSuccess(List<Status> result){ public void onSuccess(List<Status> result){
if (getActivity() == null) return;
onDataLoaded(result, !result.isEmpty()); onDataLoaded(result, !result.isEmpty());
} }
}) })

View File

@@ -375,6 +375,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
public void onSuccess(Object o) { public void onSuccess(Object o) {
item.consumeReadAnnouncement.accept(item.announcement.id); item.consumeReadAnnouncement.accept(item.announcement.id);
item.announcement.read = true; item.announcement.read = true;
if (item.parentFragment.getActivity() == null) return;
rebind(); rebind();
} }
@@ -447,6 +448,7 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
} }
private void updateOptionsMenu(){ private void updateOptionsMenu(){
if (item.parentFragment.getActivity() == null) return;
if (item.announcement != null) return; if (item.announcement != null) return;
boolean hasMultipleAccounts = AccountSessionManager.getInstance().getLoggedInAccounts().size() > 1; boolean hasMultipleAccounts = AccountSessionManager.getInstance().getLoggedInAccounts().size() > 1;
Menu menu=optionsMenu.getMenu(); Menu menu=optionsMenu.getMenu();

View File

@@ -166,6 +166,7 @@ public class TextStatusDisplayItem extends StatusDisplayItem{
public void onSuccess(TranslatedStatus translatedStatus) { public void onSuccess(TranslatedStatus translatedStatus) {
item.translation = translatedStatus; item.translation = translatedStatus;
item.translated = true; item.translated = true;
if (item.parentFragment.getActivity() == null) return;
translateProgress.setVisibility(View.GONE); translateProgress.setVisibility(View.GONE);
translateButton.setClickable(true); translateButton.setClickable(true);
translateButton.animate().alpha(1).setInterpolator(CubicBezierInterpolator.DEFAULT).setDuration(50).start(); translateButton.animate().alpha(1).setInterpolator(CubicBezierInterpolator.DEFAULT).setDuration(50).start();

View File

@@ -376,6 +376,7 @@ public class UiUtils{
.setCallback(new Callback<>(){ .setCallback(new Callback<>(){
@Override @Override
public void onSuccess(Relationship result){ public void onSuccess(Relationship result){
if (activity == null) return;
resultCallback.accept(result); resultCallback.accept(result);
if(!currentlyBlocked){ if(!currentlyBlocked){
E.post(new RemoveAccountPostsEvent(accountID, account.id, false)); E.post(new RemoveAccountPostsEvent(accountID, account.id, false));
@@ -404,6 +405,7 @@ public class UiUtils{
new SetAccountBlocked(account.id, false).setCallback(new Callback<>() { new SetAccountBlocked(account.id, false).setCallback(new Callback<>() {
@Override @Override
public void onSuccess(Relationship relationship) { public void onSuccess(Relationship relationship) {
if (activity == null) return;
Toast.makeText(activity, R.string.sk_remove_follower_success, Toast.LENGTH_SHORT).show(); Toast.makeText(activity, R.string.sk_remove_follower_success, Toast.LENGTH_SHORT).show();
resultCallback.accept(relationship); resultCallback.accept(relationship);
} }
@@ -511,7 +513,7 @@ public class UiUtils{
() -> new DeleteStatus.Scheduled(status.id) () -> new DeleteStatus.Scheduled(status.id)
.setCallback(new Callback<>(){ .setCallback(new Callback<>(){
@Override @Override
public void onSuccess(Object nothing){ public void onSuccess(Object o){
resultCallback.run(); resultCallback.run();
E.post(new ScheduledStatusDeletedEvent(status.id, accountID)); E.post(new ScheduledStatusDeletedEvent(status.id, accountID));
} }