From eeb4cdf06453abb4a413f0c24cd27c3a6c05d3d1 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 11 May 2022 13:00:56 -0300 Subject: [PATCH] Add strict-mode logging for disk access on Spinner variant. --- .../org/thoughtcrime/securesms/ApplicationContext.java | 3 +++ .../securesms/SpinnerApplicationContext.kt | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index 8e6ad574c..29af73f20 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -18,6 +18,7 @@ package org.thoughtcrime.securesms; import android.content.Context; import android.os.Build; +import android.os.StrictMode; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -86,6 +87,7 @@ import org.thoughtcrime.securesms.storage.StorageSyncHelper; import org.thoughtcrime.securesms.util.AppForegroundObserver; import org.thoughtcrime.securesms.util.AppStartup; import org.thoughtcrime.securesms.util.DynamicTheme; +import org.thoughtcrime.securesms.util.Environment; import org.thoughtcrime.securesms.util.FeatureFlags; import org.thoughtcrime.securesms.util.SignalLocalMetrics; import org.thoughtcrime.securesms.util.SignalUncaughtExceptionHandler; @@ -97,6 +99,7 @@ import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWra import java.net.SocketException; import java.net.SocketTimeoutException; import java.security.Security; +import java.util.Objects; import java.util.concurrent.TimeUnit; import io.reactivex.rxjava3.exceptions.OnErrorNotImplementedException; diff --git a/app/src/spinner/java/org/thoughtcrime/securesms/SpinnerApplicationContext.kt b/app/src/spinner/java/org/thoughtcrime/securesms/SpinnerApplicationContext.kt index e845284c2..561cd4633 100644 --- a/app/src/spinner/java/org/thoughtcrime/securesms/SpinnerApplicationContext.kt +++ b/app/src/spinner/java/org/thoughtcrime/securesms/SpinnerApplicationContext.kt @@ -2,6 +2,8 @@ package org.thoughtcrime.securesms import android.content.ContentValues import android.os.Build +import android.os.StrictMode +import android.os.StrictMode.ThreadPolicy import leakcanary.LeakCanary import org.signal.spinner.Spinner import org.signal.spinner.Spinner.DatabaseConfig @@ -28,6 +30,14 @@ class SpinnerApplicationContext : ApplicationContext() { override fun onCreate() { super.onCreate() + StrictMode.setThreadPolicy( + ThreadPolicy.Builder() + .detectDiskReads() + .detectDiskWrites() + .penaltyLog() + .build() + ) + Spinner.init( this, mapOf(