diff options
author | stom79 <tschneider.ac@gmail.com> | 2019-01-11 17:57:01 +0100 |
---|---|---|
committer | stom79 <tschneider.ac@gmail.com> | 2019-01-11 17:57:01 +0100 |
commit | 70b2f081327c70e869c8fdd89c1f6f989a72c263 (patch) | |
tree | 8e34e1240397dc508d9eb982095298cacc25193c | |
parent | 2ecf71b670ce142878350e6c8d4b407e6f6dc2fd (diff) |
Some fixes with boost/fav
-rw-r--r-- | app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowConversationActivity.java | 30 | ||||
-rw-r--r-- | app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java | 4 |
2 files changed, 32 insertions, 2 deletions
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowConversationActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowConversationActivity.java index 7a53acc67..4d1f3e5dd 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowConversationActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowConversationActivity.java @@ -16,12 +16,15 @@ package fr.gouv.etalab.mastodon.activities; import android.annotation.SuppressLint; +import android.content.BroadcastReceiver; import android.content.Intent; +import android.content.IntentFilter; import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.content.ContextCompat; +import android.support.v4.content.LocalBroadcastManager; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.ActionBar; import android.support.v7.widget.LinearLayoutManager; @@ -41,6 +44,7 @@ import java.util.List; import es.dmoral.toasty.Toasty; import fr.gouv.etalab.mastodon.R; import fr.gouv.etalab.mastodon.asynctasks.RetrieveContextAsyncTask; +import fr.gouv.etalab.mastodon.asynctasks.UpdateAccountInfoAsyncTask; import fr.gouv.etalab.mastodon.client.Entities.Account; import fr.gouv.etalab.mastodon.client.Entities.Context; import fr.gouv.etalab.mastodon.client.Entities.Error; @@ -72,6 +76,7 @@ public class ShowConversationActivity extends BaseActivity implements OnRetriev private List<Status> statuses; private StatusListAdapter statusListAdapter; private boolean expanded; + private BroadcastReceiver receive_action; @Override protected void onCreate(Bundle savedInstanceState) { @@ -110,6 +115,25 @@ public class ShowConversationActivity extends BaseActivity implements OnRetriev if( detailsStatus == null || detailsStatus.getId() == null) finish(); + + if( MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON) { + + if( receive_action != null) + LocalBroadcastManager.getInstance(getApplicationContext()).unregisterReceiver(receive_action); + receive_action = new BroadcastReceiver() { + @Override + public void onReceive(android.content.Context context, Intent intent) { + Bundle b = intent.getExtras(); + assert b != null; + Status status = b.getParcelable("status"); + if( status != null) { + statusListAdapter.notifyStatusWithActionChanged(status); + } + } + }; + LocalBroadcastManager.getInstance(getApplicationContext()).registerReceiver(receive_action, new IntentFilter(Helper.RECEIVE_ACTION)); + } + if( getSupportActionBar() != null) getSupportActionBar().setDisplayHomeAsUpEnabled(true); if( getSupportActionBar() != null) { @@ -269,6 +293,12 @@ public class ShowConversationActivity extends BaseActivity implements OnRetriev } } + @Override + public void onDestroy() { + super.onDestroy(); + if( receive_action != null) + LocalBroadcastManager.getInstance(getApplicationContext()).unregisterReceiver(receive_action); + } @Override public void onRetrieveContext(Context context, Error error) { diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java index 9b4e709cd..aa06ae2ce 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java @@ -2627,7 +2627,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct } } - if( statusAction == API.StatusAction.REBLOG){ + /*if( statusAction == API.StatusAction.REBLOG){ int position = 0; for(Status status: statuses){ if( status.getId().equals(targetedId)) { @@ -2674,7 +2674,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct } position++; } - } + }*/ if( statusAction == API.StatusAction.PEERTUBEDELETECOMMENT){ int position = 0; for(Status status: statuses){ |