|
|
|
@@ -5,6 +5,7 @@ import android.app.Activity;
|
|
|
|
import android.app.ProgressDialog;
|
|
|
|
import android.app.ProgressDialog;
|
|
|
|
import android.graphics.drawable.Animatable;
|
|
|
|
import android.graphics.drawable.Animatable;
|
|
|
|
import android.graphics.drawable.Drawable;
|
|
|
|
import android.graphics.drawable.Drawable;
|
|
|
|
|
|
|
|
import android.os.Build;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.os.Parcel;
|
|
|
|
import android.os.Parcel;
|
|
|
|
import android.text.SpannableStringBuilder;
|
|
|
|
import android.text.SpannableStringBuilder;
|
|
|
|
@@ -131,6 +132,8 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
|
|
|
|
|
|
|
|
|
|
|
optionsMenu=new PopupMenu(activity, more);
|
|
|
|
optionsMenu=new PopupMenu(activity, more);
|
|
|
|
optionsMenu.inflate(R.menu.post);
|
|
|
|
optionsMenu.inflate(R.menu.post);
|
|
|
|
|
|
|
|
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.P)
|
|
|
|
|
|
|
|
optionsMenu.getMenu().setGroupDividerEnabled(true);
|
|
|
|
optionsMenu.setOnMenuItemClickListener(menuItem->{
|
|
|
|
optionsMenu.setOnMenuItemClickListener(menuItem->{
|
|
|
|
Account account=item.user;
|
|
|
|
Account account=item.user;
|
|
|
|
int id=menuItem.getItemId();
|
|
|
|
int id=menuItem.getItemId();
|
|
|
|
@@ -188,10 +191,10 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
|
|
|
relationship=rel;
|
|
|
|
relationship=rel;
|
|
|
|
Toast.makeText(activity, activity.getString(rel.following ? R.string.followed_user : rel.requested ? R.string.following_user_requested : R.string.unfollowed_user, account.getDisplayUsername()), Toast.LENGTH_SHORT).show();
|
|
|
|
Toast.makeText(activity, activity.getString(rel.following ? R.string.followed_user : rel.requested ? R.string.following_user_requested : R.string.unfollowed_user, account.getDisplayUsername()), Toast.LENGTH_SHORT).show();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}else if(id==R.id.block_domain){
|
|
|
|
|
|
|
|
UiUtils.confirmToggleBlockDomain(activity, item.parentFragment.getAccountID(), account.getDomain(), relationship!=null && relationship.domainBlocking, ()->{});
|
|
|
|
|
|
|
|
}else if(id==R.id.bookmark){
|
|
|
|
}else if(id==R.id.bookmark){
|
|
|
|
AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setBookmarked(item.status, !item.status.bookmarked);
|
|
|
|
AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setBookmarked(item.status, !item.status.bookmarked);
|
|
|
|
|
|
|
|
}else if(id==R.id.share){
|
|
|
|
|
|
|
|
UiUtils.openSystemShareSheet(activity, item.status.url);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
@@ -279,7 +282,6 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
|
|
|
menu.findItem(R.id.edit).setVisible(item.status!=null && isOwnPost);
|
|
|
|
menu.findItem(R.id.edit).setVisible(item.status!=null && isOwnPost);
|
|
|
|
menu.findItem(R.id.delete).setVisible(item.status!=null && isOwnPost);
|
|
|
|
menu.findItem(R.id.delete).setVisible(item.status!=null && isOwnPost);
|
|
|
|
menu.findItem(R.id.open_in_browser).setVisible(item.status!=null);
|
|
|
|
menu.findItem(R.id.open_in_browser).setVisible(item.status!=null);
|
|
|
|
MenuItem blockDomain=menu.findItem(R.id.block_domain);
|
|
|
|
|
|
|
|
MenuItem mute=menu.findItem(R.id.mute);
|
|
|
|
MenuItem mute=menu.findItem(R.id.mute);
|
|
|
|
MenuItem block=menu.findItem(R.id.block);
|
|
|
|
MenuItem block=menu.findItem(R.id.block);
|
|
|
|
MenuItem report=menu.findItem(R.id.report);
|
|
|
|
MenuItem report=menu.findItem(R.id.report);
|
|
|
|
@@ -296,22 +298,15 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{
|
|
|
|
block.setVisible(false);
|
|
|
|
block.setVisible(false);
|
|
|
|
report.setVisible(false);
|
|
|
|
report.setVisible(false);
|
|
|
|
follow.setVisible(false);
|
|
|
|
follow.setVisible(false);
|
|
|
|
blockDomain.setVisible(false);
|
|
|
|
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
mute.setVisible(true);
|
|
|
|
mute.setVisible(true);
|
|
|
|
block.setVisible(true);
|
|
|
|
block.setVisible(true);
|
|
|
|
report.setVisible(true);
|
|
|
|
report.setVisible(true);
|
|
|
|
follow.setVisible(relationship==null || relationship.following || (!relationship.blocking && !relationship.blockedBy && !relationship.domainBlocking && !relationship.muting));
|
|
|
|
follow.setVisible(relationship==null || relationship.following || (!relationship.blocking && !relationship.blockedBy && !relationship.domainBlocking && !relationship.muting));
|
|
|
|
mute.setTitle(item.parentFragment.getString(relationship!=null && relationship.muting ? R.string.unmute_user : R.string.mute_user, account.getDisplayUsername()));
|
|
|
|
mute.setTitle(item.parentFragment.getString(relationship!=null && relationship.muting ? R.string.unmute_user : R.string.mute_user, account.displayName));
|
|
|
|
block.setTitle(item.parentFragment.getString(relationship!=null && relationship.blocking ? R.string.unblock_user : R.string.block_user, account.getDisplayUsername()));
|
|
|
|
block.setTitle(item.parentFragment.getString(relationship!=null && relationship.blocking ? R.string.unblock_user : R.string.block_user, account.displayName));
|
|
|
|
report.setTitle(item.parentFragment.getString(R.string.report_user, account.getDisplayUsername()));
|
|
|
|
report.setTitle(item.parentFragment.getString(R.string.report_user, account.displayName));
|
|
|
|
if(!account.isLocal()){
|
|
|
|
follow.setTitle(item.parentFragment.getString(relationship!=null && relationship.following ? R.string.unfollow_user : R.string.follow_user, account.displayName));
|
|
|
|
blockDomain.setVisible(true);
|
|
|
|
|
|
|
|
blockDomain.setTitle(item.parentFragment.getString(relationship!=null && relationship.domainBlocking ? R.string.unblock_domain : R.string.block_domain, account.getDomain()));
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
blockDomain.setVisible(false);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
follow.setTitle(item.parentFragment.getString(relationship!=null && relationship.following ? R.string.unfollow_user : R.string.follow_user, account.getDisplayUsername()));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|