diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index c27e670c4c99c..b8d3e54639e5f 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -28304,6 +28304,13 @@ public class PackageManagerService extends IPackageManager.Stub } continue; } + if (ps.appId < Process.FIRST_APPLICATION_UID) { + if (DEBUG_PER_UID_READ_TIMEOUTS) { + Slog.i(TAG, "PerUidReadTimeouts: package is system, appId=" + ps.appId); + } + continue; + } + final AndroidPackage pkg = ps.getPkg(); if (pkg.getLongVersionCode() < perPackage.versionCodes.minVersionCode || pkg.getLongVersionCode() > perPackage.versionCodes.maxVersionCode) { diff --git a/services/incremental/ServiceWrappers.cpp b/services/incremental/ServiceWrappers.cpp index 6fabc589cf952..dfa6083691a92 100644 --- a/services/incremental/ServiceWrappers.cpp +++ b/services/incremental/ServiceWrappers.cpp @@ -210,7 +210,17 @@ public: ErrorCode setUidReadTimeouts(const Control& control, const std::vector& perUidReadTimeouts) const final { - return -ENOTSUP; + std::vector timeouts; + timeouts.resize(perUidReadTimeouts.size()); + for (int i = 0, size = perUidReadTimeouts.size(); i < size; ++i) { + auto&& timeout = timeouts[i]; + const auto& perUidTimeout = perUidReadTimeouts[i]; + timeout.uid = perUidTimeout.uid; + timeout.minTimeUs = perUidTimeout.minTimeUs; + timeout.minPendingTimeUs = perUidTimeout.minPendingTimeUs; + timeout.maxPendingTimeUs = perUidTimeout.maxPendingTimeUs; + } + return incfs::setUidReadTimeouts(control, timeouts); } };