Fixes a bug with boost and cross-account actions

This commit is contained in:
tom79 2017-10-07 14:18:02 +02:00
parent b6194eabfa
commit 9adeddb4e4
3 changed files with 5 additions and 2 deletions

View File

@ -17,6 +17,7 @@ package fr.gouv.etalab.mastodon.client;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;
import android.widget.Toast;
import com.loopj.android.http.AsyncHttpResponseHandler;

View File

@ -615,7 +615,7 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf
boolean isOwner = status.getAccount().getId().equals(userId);
// Pinning toots is only available on Mastodon 1._6_.0 instances.
if (isOwner && Helper.canPin && (status.getVisibility().equals("public") || status.getVisibility().equals("unlisted"))) {
if (isOwner && Helper.canPin && (status.getVisibility().equals("public") || status.getVisibility().equals("unlisted")) && status.getReblog() == null) {
Drawable imgPin;
if( status.isPinned())
imgPin = ContextCompat.getDrawable(context, R.drawable.ic_action_pin_yellow);

View File

@ -25,6 +25,7 @@ import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.text.Html;
import android.util.Log;
import android.widget.BaseAdapter;
import java.util.ArrayList;
import java.util.List;
@ -253,7 +254,8 @@ public class CrossActions {
*/
private static void reblogAction(Context context, Status status, BaseAdapter baseAdapter, OnPostActionInterface onPostActionInterface){
if( status.isReblogged() || (status.getReblog()!= null && status.getReblog().isReblogged())){
new PostActionAsyncTask(context, API.StatusAction.UNREBLOG, status.getId(), onPostActionInterface).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
String statusId = status.getReblog()!=null?status.getReblog().getId():status.getId();
new PostActionAsyncTask(context, API.StatusAction.UNREBLOG, statusId, onPostActionInterface).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
status.setReblogged(false);
}else{
new PostActionAsyncTask(context, API.StatusAction.REBLOG, status.getId(), onPostActionInterface).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);