aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-07-28 18:27:45 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-07-28 18:27:45 +0200
commite29c21f8df78b0a855d1fd00fd70c1f429d49954 (patch)
tree56a0f84dd3641d2568909b390d3f6c08c3add01f
parentQuickTileService: fix bug the wrong way (diff)
downloadwireguard-android-e29c21f8df78b0a855d1fd00fd70c1f429d49954.tar.xz
wireguard-android-e29c21f8df78b0a855d1fd00fd70c1f429d49954.zip
Application: refuse to run on old android
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--app/build.gradle1
-rw-r--r--app/src/main/java/com/wireguard/android/Application.java12
2 files changed, 13 insertions, 0 deletions
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);