From 1521cdd258993c6c310532873ab6b917b18db04c Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Mon, 14 May 2018 12:20:13 +0100
Subject: [PATCH] Move expiry date to TestingConstants.

---
 briar-android/build.gradle                                | 1 +
 .../org/briarproject/briar/android/BriarApplication.java  | 4 ----
 .../org/briarproject/briar/android/TestingConstants.java  | 8 ++++++++
 .../briar/android/navdrawer/NavDrawerControllerImpl.java  | 2 +-
 .../briar/android/splash/SplashScreenActivity.java        | 7 ++-----
 .../java/org/briarproject/briar/android/util/UiUtils.java | 2 +-
 6 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/briar-android/build.gradle b/briar-android/build.gradle
index 43a500571f..3f965100d5 100644
--- a/briar-android/build.gradle
+++ b/briar-android/build.gradle
@@ -244,6 +244,7 @@ android {
 		resValue "string", "app_package", "org.briarproject.briar.android"
 		resValue "string", "app_name", "Briar"
 		buildConfigField "String", "GitHash", "\"${getGitHash()}\""
+		buildConfigField "Long", "BuildTimestamp", "${System.currentTimeMillis()}L"
 	}
 
 	buildTypes {
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplication.java b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplication.java
index ff9c839820..bf78cecfa1 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplication.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplication.java
@@ -6,9 +6,5 @@ package org.briarproject.briar.android;
  */
 public interface BriarApplication {
 
-	// This build expires on 31 December 2018
-	long EXPIRY_DATE = 1546214400 * 1000L;
-
 	AndroidComponent getApplicationComponent();
-
 }
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/TestingConstants.java b/briar-android/src/main/java/org/briarproject/briar/android/TestingConstants.java
index 748d7345cc..96f1b5cf25 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/TestingConstants.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/TestingConstants.java
@@ -33,4 +33,12 @@ public interface TestingConstants {
 	 * intentionally.
 	 */
 	boolean PREVENT_SCREENSHOTS = !IS_DEBUG_BUILD;
+
+	/**
+	 * Debug and beta builds expire after 90 days. Final release builds expire
+	 * after 292 million years.
+	 */
+	long EXPIRY_DATE = IS_DEBUG_BUILD || IS_BETA_BUILD ?
+			BuildConfig.BuildTimestamp + 90 * 24 * 60 * 60 * 1000L :
+			Long.MAX_VALUE;
 }
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerControllerImpl.java
index a98b3a0658..4a8e6d11ed 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerControllerImpl.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerControllerImpl.java
@@ -28,7 +28,7 @@ import javax.inject.Inject;
 
 import static java.util.logging.Level.INFO;
 import static java.util.logging.Level.WARNING;
-import static org.briarproject.briar.android.BriarApplication.EXPIRY_DATE;
+import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE;
 import static org.briarproject.briar.android.TestingConstants.IS_BETA_BUILD;
 import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD;
 import static org.briarproject.briar.android.controller.BriarControllerImpl.DOZE_ASK_AGAIN;
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java
index 19cdf8d02b..258a2851c0 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java
@@ -19,9 +19,7 @@ import java.util.logging.Logger;
 
 import javax.inject.Inject;
 
-import static org.briarproject.briar.android.BriarApplication.EXPIRY_DATE;
-import static org.briarproject.briar.android.TestingConstants.IS_BETA_BUILD;
-import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD;
+import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE;
 
 public class SplashScreenActivity extends BaseActivity {
 
@@ -62,8 +60,7 @@ public class SplashScreenActivity extends BaseActivity {
 	}
 
 	protected void startNextActivity() {
-		if ((IS_DEBUG_BUILD || IS_BETA_BUILD)
-				&& System.currentTimeMillis() >= EXPIRY_DATE) {
+		if (System.currentTimeMillis() >= EXPIRY_DATE) {
 			LOG.info("Expired");
 			startActivity(new Intent(this, ExpiredActivity.class));
 		} else {
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java
index 757bb7159d..884264a61d 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java
@@ -46,7 +46,7 @@ import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
 import static android.text.format.DateUtils.MINUTE_IN_MILLIS;
 import static android.text.format.DateUtils.WEEK_IN_MILLIS;
 import static org.briarproject.briar.BuildConfig.APPLICATION_ID;
-import static org.briarproject.briar.android.BriarApplication.EXPIRY_DATE;
+import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE;
 
 @MethodsNotNullByDefault
 @ParametersNotNullByDefault
-- 
GitLab