From e29c21f8df78b0a855d1fd00fd70c1f429d49954 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sat, 28 Jul 2018 18:27:45 +0200 Subject: [PATCH] Application: refuse to run on old android Signed-off-by: Jason A. Donenfeld --- app/build.gradle | 1 + .../main/java/com/wireguard/android/Application.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index f6b82820..da77da48 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -19,6 +19,7 @@ android { targetSdkVersion 27 versionCode 437 versionName '0.0.20180725' + buildConfigField 'int', 'MIN_SDK_VERSION', "$minSdkVersion.apiLevel" } // If the keystore file exists if (keystorePropertiesFile.exists()) { diff --git a/app/src/main/java/com/wireguard/android/Application.java b/app/src/main/java/com/wireguard/android/Application.java index 7218c606..efca15dd 100644 --- a/app/src/main/java/com/wireguard/android/Application.java +++ b/app/src/main/java/com/wireguard/android/Application.java @@ -6,10 +6,12 @@ package com.wireguard.android; import android.content.Context; +import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.pm.Signature; import android.os.AsyncTask; +import android.os.Build; import android.os.Handler; import android.os.Looper; import android.preference.PreferenceManager; @@ -97,6 +99,16 @@ public class Application extends android.app.Application { @Override protected void attachBaseContext(final Context context) { super.attachBaseContext(context); + + if (BuildConfig.MIN_SDK_VERSION > Build.VERSION.SDK_INT) { + final Intent intent = new Intent(Intent.ACTION_MAIN); + intent.addCategory(Intent.CATEGORY_HOME); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + System.exit(0); + } + final String installSource = getInstallSource(context); if (installSource != null) { ACRA.init(this);