diff --git a/android/src/main/java/com/facebook/flipper/android/AndroidFlipperClient.java b/android/src/main/java/com/facebook/flipper/android/AndroidFlipperClient.java index fe40a1f79..aa65c748a 100644 --- a/android/src/main/java/com/facebook/flipper/android/AndroidFlipperClient.java +++ b/android/src/main/java/com/facebook/flipper/android/AndroidFlipperClient.java @@ -12,6 +12,7 @@ import android.content.pm.PackageManager; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; +import android.os.StrictMode; import android.util.Log; import androidx.core.content.ContextCompat; import com.facebook.flipper.BuildConfig; @@ -39,6 +40,15 @@ public final class AndroidFlipperClient { final Context app = context.getApplicationContext() == null ? context : context.getApplicationContext(); + + // exempt this disk read as this is a debug tool + StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads(); + String privateAppDirectory; + try { + privateAppDirectory = context.getFilesDir().getAbsolutePath(); + } finally { + StrictMode.setThreadPolicy(oldPolicy); + } FlipperClientImpl.init( sFlipperThread.getEventBase(), sConnectionThread.getEventBase(), @@ -52,7 +62,7 @@ public final class AndroidFlipperClient { getId(), getRunningAppName(app), getPackageName(app), - context.getFilesDir().getAbsolutePath()); + privateAppDirectory); sIsInitialized = true; } return FlipperClientImpl.getInstance(); diff --git a/android/src/main/java/com/facebook/flipper/android/FlipperProps.java b/android/src/main/java/com/facebook/flipper/android/FlipperProps.java index 0d8647ae3..aeafce7f7 100644 --- a/android/src/main/java/com/facebook/flipper/android/FlipperProps.java +++ b/android/src/main/java/com/facebook/flipper/android/FlipperProps.java @@ -7,6 +7,7 @@ package com.facebook.flipper.android; +import android.os.StrictMode; import android.util.Log; import java.io.BufferedReader; import java.io.IOException; @@ -81,6 +82,9 @@ class FlipperProps { String propValue = null; Process process = null; BufferedReader reader = null; + + // this function does not read from disk and this tool is for debug only + StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads(); try { process = Runtime.getRuntime().exec(new String[] {"/system/bin/getprop", propsName}); reader = @@ -107,6 +111,7 @@ class FlipperProps { if (process != null) { process.destroy(); } + StrictMode.setThreadPolicy(oldPolicy); } return propValue; }