diff --git a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java index 07f3f6c4b1c511863b2f0bcf7d686e283d4e865c..19ea60a8924f57eb50841c982bd1e00e9478ea01 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java @@ -2,6 +2,9 @@ package org.briarproject.briar.android; import android.app.Application; import android.content.Context; +import android.os.StrictMode; +import android.os.StrictMode.ThreadPolicy; +import android.os.StrictMode.VmPolicy; import org.acra.ACRA; import org.acra.ReportingInteractionMode; @@ -33,6 +36,8 @@ import static org.acra.ReportField.REPORT_ID; import static org.acra.ReportField.STACK_TRACE; import static org.acra.ReportField.USER_APP_START_DATE; import static org.acra.ReportField.USER_CRASH_DATE; +import static org.briarproject.briar.android.TestingConstants.DEFAULT_LOG_LEVEL; +import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD; @ReportsCrashes( reportPrimerClass = BriarReportPrimer.class, @@ -72,6 +77,9 @@ public class BriarApplicationImpl extends Application @Override public void onCreate() { super.onCreate(); + + if (IS_DEBUG_BUILD) enableStrictMode(); + Logger.getLogger("").setLevel(DEFAULT_LOG_LEVEL); LOG.info("Created"); applicationComponent = DaggerAndroidComponent.builder() @@ -85,6 +93,17 @@ public class BriarApplicationImpl extends Application AndroidEagerSingletons.initEagerSingletons(applicationComponent); } + private void enableStrictMode() { + ThreadPolicy.Builder threadPolicy = new ThreadPolicy.Builder(); + threadPolicy.detectAll(); + threadPolicy.penaltyLog(); + StrictMode.setThreadPolicy(threadPolicy.build()); + VmPolicy.Builder vmPolicy = new VmPolicy.Builder(); + vmPolicy.detectAll(); + vmPolicy.penaltyLog(); + StrictMode.setVmPolicy(vmPolicy.build()); + } + @Override public AndroidComponent getApplicationComponent() { return applicationComponent; 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 e984e7281a27aaa9f88839eb744d7012b27eb90d..e2972784cbee917bb0430ccdfeed9306a1850ece 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 @@ -10,13 +10,21 @@ import static java.util.logging.Level.OFF; public interface TestingConstants { /** - * Whether this is an alpha or beta build. This should be set to false for + * Whether this is a debug build. + */ + boolean IS_DEBUG_BUILD = BuildConfig.DEBUG; + + /** + * Whether this is a beta build. This should be set to false for final * release builds. */ - boolean TESTING = BuildConfig.DEBUG; + boolean IS_BETA_BUILD = true; - /** Default log level. */ - Level DEFAULT_LOG_LEVEL = TESTING ? INFO : OFF; + /** + * Default log level. Disable logging for final release builds. + */ + @SuppressWarnings("ConstantConditions") + Level DEFAULT_LOG_LEVEL = IS_DEBUG_BUILD || IS_BETA_BUILD ? INFO : OFF; /** * Whether to prevent screenshots from being taken. Setting this to true @@ -24,5 +32,5 @@ public interface TestingConstants { * Unfortunately this also prevents the user from taking screenshots * intentionally. */ - boolean PREVENT_SCREENSHOTS = !TESTING; + boolean PREVENT_SCREENSHOTS = !IS_DEBUG_BUILD; } 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 1856c3d4ec9a017690f0ee066336d541ccff9588..04fffbaf10eb1600fa492d3902aaa435437dbdea 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 @@ -4,9 +4,6 @@ import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.os.Handler; -import android.os.StrictMode; -import android.os.StrictMode.ThreadPolicy; -import android.os.StrictMode.VmPolicy; import android.support.v7.preference.PreferenceManager; import android.transition.Fade; @@ -23,8 +20,6 @@ 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.DEFAULT_LOG_LEVEL; -import static org.briarproject.briar.android.TestingConstants.TESTING; public class SplashScreenActivity extends BaseActivity { @@ -36,11 +31,6 @@ public class SplashScreenActivity extends BaseActivity { @Inject protected AndroidExecutor androidExecutor; - public SplashScreenActivity() { - Logger.getLogger("").setLevel(DEFAULT_LOG_LEVEL); - enableStrictMode(); - } - @Override public void onCreate(Bundle state) { super.onCreate(state); @@ -81,19 +71,6 @@ public class SplashScreenActivity extends BaseActivity { } } - private void enableStrictMode() { - if (TESTING) { - ThreadPolicy.Builder threadPolicy = new ThreadPolicy.Builder(); - threadPolicy.detectAll(); - threadPolicy.penaltyLog(); - StrictMode.setThreadPolicy(threadPolicy.build()); - VmPolicy.Builder vmPolicy = new VmPolicy.Builder(); - vmPolicy.detectAll(); - vmPolicy.penaltyLog(); - StrictMode.setVmPolicy(vmPolicy.build()); - } - } - private void setPreferencesDefaults() { androidExecutor.runOnBackgroundThread(new Runnable() { @Override