Fix cross account actions long press + some crahses

This commit is contained in:
stom79 2018-12-06 18:48:56 +01:00
parent 0711654c3a
commit fa1bc9f545
2 changed files with 12 additions and 18 deletions

View File

@ -303,7 +303,8 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
changeDrawableColor(context, R.drawable.ic_remove_red_eye,R.color.black);
changeDrawableColor(context, holder.notification_delete,R.color.black);
}
holder.spark_button_fav.pressOnTouch(false);
holder.spark_button_reblog.pressOnTouch(false);
holder.spark_button_fav.setActiveImageTint(R.color.marked_icon);
holder.spark_button_reblog.setActiveImageTint(R.color.boost_icon);
holder.spark_button_fav.setDisableCircle(true);
@ -594,20 +595,7 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
}
});
holder.status_favorite_count.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CrossActions.doCrossAction(context, null, status, null, status.isFavourited()? API.StatusAction.UNFAVOURITE:API.StatusAction.FAVOURITE, notificationsListAdapter, NotificationsListAdapter.this, true);
}
});
holder.status_reblog_count.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CrossActions.doCrossAction(context, null, status, null, status.isReblogged()? API.StatusAction.UNREBLOG:API.StatusAction.REBLOG, notificationsListAdapter, NotificationsListAdapter.this, true);
}
});
holder.status_reply.setOnClickListener(new View.OnClickListener() {
@Override
@ -617,7 +605,7 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
});
if( !status.getVisibility().equals("direct"))
holder.status_favorite_count.setOnLongClickListener(new View.OnLongClickListener() {
holder.spark_button_fav.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
CrossActions.doCrossAction(context, null, status, null, status.isFavourited()? API.StatusAction.UNFAVOURITE:API.StatusAction.FAVOURITE, notificationsListAdapter, NotificationsListAdapter.this, false);
@ -633,7 +621,7 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
}
});
if( !status.getVisibility().equals("direct"))
holder.status_reblog_count.setOnLongClickListener(new View.OnLongClickListener() {
holder.spark_button_reblog.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
CrossActions.doCrossAction(context, null, status, null, status.isReblogged()? API.StatusAction.UNREBLOG:API.StatusAction.REBLOG, notificationsListAdapter, NotificationsListAdapter.this, false);

View File

@ -713,6 +713,8 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
//Redraws top icons (boost/reply)
final float scale = context.getResources().getDisplayMetrics().density;
holder.spark_button_fav.pressOnTouch(false);
holder.spark_button_reblog.pressOnTouch(false);
holder.spark_button_fav.setActiveImage(R.drawable.ic_star);
holder.spark_button_fav.setInactiveImage(R.drawable.ic_star_border);
holder.spark_button_fav.setDisableCircle(true);
@ -1250,6 +1252,10 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
holder.status_content_translated_container.setVisibility(View.GONE);
}
//TODO:It sounds that sometimes this value is null - need deeper investigation
if( status.getVisibility() == null)
status.setVisibility("public");
switch (status.getVisibility()){
case "direct":
holder.status_reblog_count.setVisibility(View.GONE);
@ -1501,7 +1507,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
});
if( !status.getVisibility().equals("direct"))
holder.status_favorite_count.setOnLongClickListener(new View.OnLongClickListener() {
holder.spark_button_fav.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
CrossActions.doCrossAction(context, type, status, null, API.StatusAction.FAVOURITE, statusListAdapter, StatusListAdapter.this, false);
@ -1509,7 +1515,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
}
});
if( !status.getVisibility().equals("direct"))
holder.status_reblog_count.setOnLongClickListener(new View.OnLongClickListener() {
holder.spark_button_reblog.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
CrossActions.doCrossAction(context, type, status, null, API.StatusAction.REBLOG, statusListAdapter, StatusListAdapter.this, false);