summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostStatusAsyncTask.java
diff options
context:
space:
mode:
authorstom79 <tschneider.ac@gmail.com>2017-10-27 15:09:26 +0200
committerstom79 <tschneider.ac@gmail.com>2017-10-27 15:09:26 +0200
commit82a7b1a0c159a618d11b33b1fc58995916a3a4fd (patch)
tree7d86723df57daecc01e5b2ef2ca3cf71de5ab2fb /app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostStatusAsyncTask.java
parent8d7f627fb5554af139b60b6ca66d60a5d3a653a8 (diff)
adds weak reference to context
Diffstat (limited to 'app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostStatusAsyncTask.java')
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostStatusAsyncTask.java13
1 files changed, 6 insertions, 7 deletions
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostStatusAsyncTask.java b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostStatusAsyncTask.java
index b8f20d848..2a80682a9 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostStatusAsyncTask.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostStatusAsyncTask.java
@@ -16,12 +16,10 @@ package fr.gouv.etalab.mastodon.asynctasks;
import android.content.Context;
import android.os.AsyncTask;
-import android.util.Log;
-
+import java.lang.ref.WeakReference;
import fr.gouv.etalab.mastodon.client.API;
import fr.gouv.etalab.mastodon.client.APIResponse;
import fr.gouv.etalab.mastodon.client.Entities.Account;
-import fr.gouv.etalab.mastodon.helper.Helper;
import fr.gouv.etalab.mastodon.interfaces.OnPostStatusActionInterface;
@@ -32,14 +30,15 @@ import fr.gouv.etalab.mastodon.interfaces.OnPostStatusActionInterface;
public class PostStatusAsyncTask extends AsyncTask<Void, Void, Void> {
- private Context context;
private OnPostStatusActionInterface listener;
private APIResponse apiResponse;
private fr.gouv.etalab.mastodon.client.Entities.Status status;
private Account account;
+ private WeakReference<Context> contextReference;
+
public PostStatusAsyncTask(Context context, Account account, fr.gouv.etalab.mastodon.client.Entities.Status status, OnPostStatusActionInterface onPostStatusActionInterface){
- this.context = context;
+ this.contextReference = new WeakReference<>(context);
this.listener = onPostStatusActionInterface;
this.status = status;
this.account = account;
@@ -48,9 +47,9 @@ public class PostStatusAsyncTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
if( account == null)
- apiResponse = new API(context).postStatusAction(status);
+ apiResponse = new API(this.contextReference.get()).postStatusAction(status);
else
- apiResponse = new API(context, account.getInstance(), account.getToken()).postStatusAction(status);
+ apiResponse = new API(this.contextReference.get(), account.getInstance(), account.getToken()).postStatusAction(status);
return null;
}