From 5d03d732752649f99e02a4e26c18a21859bd92ac Mon Sep 17 00:00:00 2001 From: Yizhe Chen Date: Wed, 20 Apr 2022 08:40:39 -0700 Subject: [PATCH] exempt a disk read from StrictMode as stetho is strictly a debug oriented tool --- .../main/java/com/facebook/stetho/common/ProcessUtil.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/stetho/src/main/java/com/facebook/stetho/common/ProcessUtil.java b/stetho/src/main/java/com/facebook/stetho/common/ProcessUtil.java index e8656ec6..a16fd241 100644 --- a/stetho/src/main/java/com/facebook/stetho/common/ProcessUtil.java +++ b/stetho/src/main/java/com/facebook/stetho/common/ProcessUtil.java @@ -7,6 +7,7 @@ package com.facebook.stetho.common; +import android.os.StrictMode; import javax.annotation.Nullable; import java.io.FileInputStream; import java.io.IOException; @@ -46,6 +47,9 @@ private static String readProcessName() throws IOException { // Avoid using a Reader to not pick up a forced 16K buffer. Silly java.io... FileInputStream stream = new FileInputStream("/proc/self/cmdline"); boolean success = false; + + // /proc/self/cmdline is a memory file and won't actually hit disk + StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads(); try { int n = stream.read(cmdlineBuffer); success = true; @@ -53,6 +57,7 @@ private static String readProcessName() throws IOException { return new String(cmdlineBuffer, 0, endIndex > 0 ? endIndex : n); } finally { Util.close(stream, !success); + StrictMode.setThreadPolicy(oldPolicy); } }