From d1d80c29a6bdd37f3befa7f66adf37a4e984056d Mon Sep 17 00:00:00 2001 From: Joe LaPenna Date: Wed, 27 Apr 2016 09:25:15 -0700 Subject: [PATCH] Allow "disk reads" to sysfs in battery stats BUG: 28406622 Change-Id: I9792bfc1e913c31e4cc386c5633f6a47ce311a7c --- core/java/com/android/internal/os/KernelCpuSpeedReader.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/java/com/android/internal/os/KernelCpuSpeedReader.java b/core/java/com/android/internal/os/KernelCpuSpeedReader.java index 3f6ebb9cccff1..9c7debb7d9c99 100644 --- a/core/java/com/android/internal/os/KernelCpuSpeedReader.java +++ b/core/java/com/android/internal/os/KernelCpuSpeedReader.java @@ -16,6 +16,7 @@ package com.android.internal.os; import android.text.TextUtils; +import android.os.StrictMode; import android.system.OsConstants; import android.util.Slog; @@ -62,6 +63,7 @@ public class KernelCpuSpeedReader { * {@link #readDelta}. */ public long[] readDelta() { + StrictMode.ThreadPolicy policy = StrictMode.allowThreadDiskReads(); try (BufferedReader reader = new BufferedReader(new FileReader(mProcFile))) { TextUtils.SimpleStringSplitter splitter = new TextUtils.SimpleStringSplitter(' '); String line; @@ -84,6 +86,8 @@ public class KernelCpuSpeedReader { } catch (IOException e) { Slog.e(TAG, "Failed to read cpu-freq: " + e.getMessage()); Arrays.fill(mDeltaSpeedTimes, 0); + } finally { + StrictMode.setThreadPolicy(policy); } return mDeltaSpeedTimes; }