diff options
author | stom79 <tschneider.ac@gmail.com> | 2017-10-27 15:09:26 +0200 |
---|---|---|
committer | stom79 <tschneider.ac@gmail.com> | 2017-10-27 15:09:26 +0200 |
commit | 82a7b1a0c159a618d11b33b1fc58995916a3a4fd (patch) | |
tree | 7d86723df57daecc01e5b2ef2ca3cf71de5ab2fb /app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/PostStatusAsyncTask.java | |
parent | 8d7f627fb5554af139b60b6ca66d60a5d3a653a8 (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.java | 13 |
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; } |