diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/microsoft/MicrosoftAuthTask.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/microsoft/MicrosoftAuthTask.java index 890a6f2d8..730cef90d 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/microsoft/MicrosoftAuthTask.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/microsoft/MicrosoftAuthTask.java @@ -5,6 +5,7 @@ import android.content.*; import android.os.*; import android.util.*; +import java.lang.ref.WeakReference; import java.net.*; import java.text.*; import java.util.*; @@ -29,20 +30,20 @@ public class MicrosoftAuthTask extends AsyncTask { */ //private Gson gson = new Gson(); - private RefreshListener listener; + private final RefreshListener listener; - private Context ctx; + private final WeakReference ctx; private ProgressDialog build; public MicrosoftAuthTask(Context ctx, RefreshListener listener) { - this.ctx = ctx; + this.ctx = new WeakReference<>(ctx); this.listener = listener; } @Override public void onPreExecute() { - build = new ProgressDialog(ctx); - build.setMessage(ctx.getString(R.string.global_waiting)); + build = new ProgressDialog(ctx.get()); + build.setMessage(ctx.get().getString(R.string.global_waiting)); build.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); build.setCancelable(false); build.setMax(6); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/mojang/InvalidateTokenTask.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/mojang/InvalidateTokenTask.java index 22a8abac9..5762794a0 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/mojang/InvalidateTokenTask.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/mojang/InvalidateTokenTask.java @@ -4,6 +4,7 @@ import android.content.*; import android.os.*; import net.kdt.pojavlaunch.authenticator.mojang.yggdrasil.*; import java.io.*; +import java.lang.ref.WeakReference; import java.util.*; import net.kdt.pojavlaunch.*; import net.kdt.pojavlaunch.value.*; @@ -13,11 +14,11 @@ public class InvalidateTokenTask extends AsyncTask { //private Gson gson = new Gson(); private MinecraftAccount profilePath; - private Context ctx; + private final WeakReference ctx; private String path; public InvalidateTokenTask(Context ctx) { - this.ctx = ctx; + this.ctx = new WeakReference<>(ctx); } @Override @@ -41,7 +42,7 @@ public class InvalidateTokenTask extends AsyncTask { @Override public void onPostExecute(Throwable result) { if (result != null) { - Tools.showError(ctx, result); + Tools.showError(ctx.get(), result); } new File(Tools.DIR_ACCOUNT_NEW + "/" + path + ".json").delete(); } diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/mojang/RefreshTokenTask.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/mojang/RefreshTokenTask.java index ffecd88ae..b7fb145e0 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/mojang/RefreshTokenTask.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/authenticator/mojang/RefreshTokenTask.java @@ -5,6 +5,7 @@ import android.os.*; import com.google.gson.*; import java.io.IOException; +import java.lang.ref.WeakReference; import java.util.*; import net.kdt.pojavlaunch.*; import net.kdt.pojavlaunch.authenticator.mojang.yggdrasil.*; @@ -17,18 +18,18 @@ public class RefreshTokenTask extends AsyncTask { private RefreshListener listener; private MinecraftAccount profilePath; - private Context ctx; + private final WeakReference ctx; private ProgressDialog build; public RefreshTokenTask(Context ctx, RefreshListener listener) { - this.ctx = ctx; + this.ctx = new WeakReference<>(ctx); this.listener = listener; } @Override public void onPreExecute() { - build = new ProgressDialog(ctx); - build.setMessage(ctx.getString(R.string.global_waiting)); + build = new ProgressDialog(ctx.get()); + build.setMessage(ctx.get().getString(R.string.global_waiting)); build.setProgressStyle(ProgressDialog.STYLE_SPINNER); build.setCancelable(false); build.show();