From a7afc23a9a5924165a29217b6c6df00191f7de40 Mon Sep 17 00:00:00 2001 From: Redirion Date: Tue, 26 Feb 2019 19:23:54 +0100 Subject: [PATCH] Fixed Asynctask being executed when it shouldn't #1 check if cancel was called in onPrepare #2 if we currently don't have a Connection, don't show crash report dialogue to user --- .../org/schabi/newpipe/CheckForNewAppVersionTask.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/CheckForNewAppVersionTask.java b/app/src/main/java/org/schabi/newpipe/CheckForNewAppVersionTask.java index af9b88ac1..14fe8e1f9 100644 --- a/app/src/main/java/org/schabi/newpipe/CheckForNewAppVersionTask.java +++ b/app/src/main/java/org/schabi/newpipe/CheckForNewAppVersionTask.java @@ -7,6 +7,7 @@ import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.Signature; +import android.net.ConnectivityManager; import android.net.Uri; import android.os.AsyncTask; import android.preference.PreferenceManager; @@ -68,6 +69,8 @@ public class CheckForNewAppVersionTask extends AsyncTask { @Override protected String doInBackground(Void... voids) { + + if(isCancelled() || !isConnected()) return null; // Make a network request to get latest NewPipe data. if (client == null) { @@ -227,4 +230,12 @@ public class CheckForNewAppVersionTask extends AsyncTask { return getCertificateSHA1Fingerprint().equals(GITHUB_APK_SHA1); } + + private boolean isConnected() { + + ConnectivityManager cm = + (ConnectivityManager) app.getSystemService(Context.CONNECTIVITY_SERVICE); + return cm.getActiveNetworkInfo() != null + && cm.getActiveNetworkInfo().isConnected(); + } }