From 6217e37d30042fd78d17a8d5145f578279d60808 Mon Sep 17 00:00:00 2001 From: Tobias Thierer Date: Tue, 17 Oct 2017 20:26:20 +0100 Subject: [PATCH] Framework: Prefer android.system.Os over libcore.io.Libcore.os This is a pure refactoring with no a behavior change other than that these calls now go through android.system.Os, which immediately delegates to Libcore.os. This is a first step towards separating framework (via android.system.Os) vs. libcore (via Libcore.os) clients of these low level APIs. Separating these is a prerequisite towards moving the API parts of android.system into framework, and moving the rest into a different package in libcore. Test: Treehugger Bug: 67901714 Change-Id: Ifd8349ec5416e5693f40dba48fdf2bef651b7d81 Merged-In: Ifd8349ec5416e5693f40dba48fdf2bef651b7d81 --- .../util/apk/ApkSignatureSchemeV2Verifier.java | 11 ++++------- .../com/android/internal/os/KernelCpuSpeedReader.java | 5 ++--- .../com/android/internal/os/ProcessCpuTracker.java | 3 ++- graphics/java/android/graphics/pdf/PdfEditor.java | 5 +++-- graphics/java/android/graphics/pdf/PdfRenderer.java | 6 +++--- media/java/android/media/MediaPlayer.java | 8 ++++---- .../android/server/pm/PackageInstallerSession.java | 7 +++---- .../android/server/pm/PackageManagerServiceUtils.java | 3 ++- .../net/java/android/net/netlink/NetlinkSocket.java | 2 +- 9 files changed, 24 insertions(+), 26 deletions(-) diff --git a/core/java/android/util/apk/ApkSignatureSchemeV2Verifier.java b/core/java/android/util/apk/ApkSignatureSchemeV2Verifier.java index 0216a0752a9c8..a9ccae114ba87 100644 --- a/core/java/android/util/apk/ApkSignatureSchemeV2Verifier.java +++ b/core/java/android/util/apk/ApkSignatureSchemeV2Verifier.java @@ -17,6 +17,7 @@ package android.util.apk; import android.system.ErrnoException; +import android.system.Os; import android.system.OsConstants; import android.util.ArrayMap; import android.util.Pair; @@ -59,9 +60,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import libcore.io.Libcore; -import libcore.io.Os; - /** * APK Signature Scheme v2 verifier. * @@ -994,8 +992,7 @@ public class ApkSignatureSchemeV2Verifier { * {@link DataSource#feedIntoMessageDigests(MessageDigest[], long, int) feedIntoMessageDigests}. */ private static final class MemoryMappedFileDataSource implements DataSource { - private static final Os OS = Libcore.os; - private static final long MEMORY_PAGE_SIZE_BYTES = OS.sysconf(OsConstants._SC_PAGESIZE); + private static final long MEMORY_PAGE_SIZE_BYTES = Os.sysconf(OsConstants._SC_PAGESIZE); private final FileDescriptor mFd; private final long mFilePosition; @@ -1041,7 +1038,7 @@ public class ApkSignatureSchemeV2Verifier { long mmapRegionSize = size + dataStartOffsetInMmapRegion; long mmapPtr = 0; try { - mmapPtr = OS.mmap( + mmapPtr = Os.mmap( 0, // let the OS choose the start address of the region in memory mmapRegionSize, OsConstants.PROT_READ, @@ -1066,7 +1063,7 @@ public class ApkSignatureSchemeV2Verifier { } finally { if (mmapPtr != 0) { try { - OS.munmap(mmapPtr, mmapRegionSize); + Os.munmap(mmapPtr, mmapRegionSize); } catch (ErrnoException ignored) {} } } diff --git a/core/java/com/android/internal/os/KernelCpuSpeedReader.java b/core/java/com/android/internal/os/KernelCpuSpeedReader.java index 9c7debb7d9c99..ae13ea4b9d183 100644 --- a/core/java/com/android/internal/os/KernelCpuSpeedReader.java +++ b/core/java/com/android/internal/os/KernelCpuSpeedReader.java @@ -15,13 +15,12 @@ */ package com.android.internal.os; +import android.system.Os; import android.text.TextUtils; import android.os.StrictMode; import android.system.OsConstants; import android.util.Slog; -import libcore.io.Libcore; - import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; @@ -53,7 +52,7 @@ public class KernelCpuSpeedReader { cpuNumber); mLastSpeedTimes = new long[numSpeedSteps]; mDeltaSpeedTimes = new long[numSpeedSteps]; - long jiffyHz = Libcore.os.sysconf(OsConstants._SC_CLK_TCK); + long jiffyHz = Os.sysconf(OsConstants._SC_CLK_TCK); mJiffyMillis = 1000/jiffyHz; } diff --git a/core/java/com/android/internal/os/ProcessCpuTracker.java b/core/java/com/android/internal/os/ProcessCpuTracker.java index e46dfc4e0cb65..bf31c7d8ad858 100644 --- a/core/java/com/android/internal/os/ProcessCpuTracker.java +++ b/core/java/com/android/internal/os/ProcessCpuTracker.java @@ -22,6 +22,7 @@ import android.os.FileUtils; import android.os.Process; import android.os.StrictMode; import android.os.SystemClock; +import android.system.Os; import android.system.OsConstants; import android.util.Slog; @@ -294,7 +295,7 @@ public class ProcessCpuTracker { public ProcessCpuTracker(boolean includeThreads) { mIncludeThreads = includeThreads; - long jiffyHz = Libcore.os.sysconf(OsConstants._SC_CLK_TCK); + long jiffyHz = Os.sysconf(OsConstants._SC_CLK_TCK); mJiffyMillis = 1000/jiffyHz; } diff --git a/graphics/java/android/graphics/pdf/PdfEditor.java b/graphics/java/android/graphics/pdf/PdfEditor.java index cd1f8de6ee0f8..cb6b3a34a9efa 100644 --- a/graphics/java/android/graphics/pdf/PdfEditor.java +++ b/graphics/java/android/graphics/pdf/PdfEditor.java @@ -23,6 +23,7 @@ import android.graphics.Point; import android.graphics.Rect; import android.os.ParcelFileDescriptor; import android.system.ErrnoException; +import android.system.Os; import android.system.OsConstants; import dalvik.system.CloseGuard; import libcore.io.IoUtils; @@ -72,8 +73,8 @@ public final class PdfEditor { final long size; try { - Libcore.os.lseek(input.getFileDescriptor(), 0, OsConstants.SEEK_SET); - size = Libcore.os.fstat(input.getFileDescriptor()).st_size; + Os.lseek(input.getFileDescriptor(), 0, OsConstants.SEEK_SET); + size = Os.fstat(input.getFileDescriptor()).st_size; } catch (ErrnoException ee) { throw new IllegalArgumentException("file descriptor not seekable"); } diff --git a/graphics/java/android/graphics/pdf/PdfRenderer.java b/graphics/java/android/graphics/pdf/PdfRenderer.java index 7b7a2909b36d0..b4630a4912e68 100644 --- a/graphics/java/android/graphics/pdf/PdfRenderer.java +++ b/graphics/java/android/graphics/pdf/PdfRenderer.java @@ -26,10 +26,10 @@ import android.graphics.Point; import android.graphics.Rect; import android.os.ParcelFileDescriptor; import android.system.ErrnoException; +import android.system.Os; import android.system.OsConstants; import com.android.internal.util.Preconditions; import dalvik.system.CloseGuard; -import libcore.io.Libcore; import java.io.IOException; import java.lang.annotation.Retention; @@ -154,8 +154,8 @@ public final class PdfRenderer implements AutoCloseable { final long size; try { - Libcore.os.lseek(input.getFileDescriptor(), 0, OsConstants.SEEK_SET); - size = Libcore.os.fstat(input.getFileDescriptor()).st_size; + Os.lseek(input.getFileDescriptor(), 0, OsConstants.SEEK_SET); + size = Os.fstat(input.getFileDescriptor()).st_size; } catch (ErrnoException ee) { throw new IllegalArgumentException("file descriptor not seekable"); } diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java index 5cbcceab37fa1..28f3106ed8ac4 100644 --- a/media/java/android/media/MediaPlayer.java +++ b/media/java/android/media/MediaPlayer.java @@ -39,6 +39,7 @@ import android.os.PowerManager; import android.os.SystemProperties; import android.provider.Settings; import android.system.ErrnoException; +import android.system.Os; import android.system.OsConstants; import android.util.Log; import android.util.Pair; @@ -60,7 +61,6 @@ import android.media.SyncParams; import com.android.internal.util.Preconditions; import libcore.io.IoBridge; -import libcore.io.Libcore; import libcore.io.Streams; import java.io.ByteArrayOutputStream; @@ -2810,7 +2810,7 @@ public class MediaPlayer extends PlayerBase final FileDescriptor dupedFd; try { - dupedFd = Libcore.os.dup(fd); + dupedFd = Os.dup(fd); } catch (ErrnoException ex) { Log.e(TAG, ex.getMessage(), ex); throw new RuntimeException(ex); @@ -2848,7 +2848,7 @@ public class MediaPlayer extends PlayerBase private int addTrack() { final ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { - Libcore.os.lseek(dupedFd, offset2, OsConstants.SEEK_SET); + Os.lseek(dupedFd, offset2, OsConstants.SEEK_SET); byte[] buffer = new byte[4096]; for (long total = 0; total < length2;) { int bytesToRead = (int) Math.min(buffer.length, length2 - total); @@ -2872,7 +2872,7 @@ public class MediaPlayer extends PlayerBase return MEDIA_INFO_TIMED_TEXT_ERROR; } finally { try { - Libcore.os.close(dupedFd); + Os.close(dupedFd); } catch (ErrnoException e) { Log.e(TAG, e.getMessage(), e); } diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java index 4540d2dfd6927..89471bb515b18 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerSession.java +++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java @@ -78,7 +78,6 @@ import com.android.server.pm.Installer.InstallerException; import com.android.server.pm.PackageInstallerService.PackageInstallObserverAdapter; import libcore.io.IoUtils; -import libcore.io.Libcore; import java.io.File; import java.io.FileDescriptor; @@ -463,7 +462,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { // TODO: this should delegate to DCS so the system process avoids // holding open FDs into containers. - final FileDescriptor targetFd = Libcore.os.open(target.getAbsolutePath(), + final FileDescriptor targetFd = Os.open(target.getAbsolutePath(), O_CREAT | O_WRONLY, 0644); Os.chmod(target.getAbsolutePath(), 0644); @@ -475,7 +474,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { } if (offsetBytes > 0) { - Libcore.os.lseek(targetFd, offsetBytes, OsConstants.SEEK_SET); + Os.lseek(targetFd, offsetBytes, OsConstants.SEEK_SET); } if (PackageInstaller.ENABLE_REVOCABLE_FD) { @@ -510,7 +509,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { } final File target = new File(resolveStageDir(), name); - final FileDescriptor targetFd = Libcore.os.open(target.getAbsolutePath(), O_RDONLY, 0); + final FileDescriptor targetFd = Os.open(target.getAbsolutePath(), O_RDONLY, 0); return new ParcelFileDescriptor(targetFd); } catch (ErrnoException e) { diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java index ec9aa6332901e..eb1e7bd922e32 100644 --- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java +++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java @@ -30,6 +30,7 @@ import android.os.Build; import android.os.RemoteException; import android.os.UserHandle; import android.system.ErrnoException; +import android.system.Os; import android.util.ArraySet; import android.util.Log; import android.util.Slog; @@ -190,7 +191,7 @@ public class PackageManagerServiceUtils { */ public static String realpath(File path) throws IOException { try { - return Libcore.os.realpath(path.getAbsolutePath()); + return Os.realpath(path.getAbsolutePath()); } catch (ErrnoException ee) { throw ee.rethrowAsIOException(); } diff --git a/services/net/java/android/net/netlink/NetlinkSocket.java b/services/net/java/android/net/netlink/NetlinkSocket.java index a9e0cd996fbd2..f5f211d8e6316 100644 --- a/services/net/java/android/net/netlink/NetlinkSocket.java +++ b/services/net/java/android/net/netlink/NetlinkSocket.java @@ -96,7 +96,7 @@ public class NetlinkSocket implements Closeable { mDescriptor = Os.socket( OsConstants.AF_NETLINK, OsConstants.SOCK_DGRAM, nlProto); - Libcore.os.setsockoptInt( + Os.setsockoptInt( mDescriptor, OsConstants.SOL_SOCKET, OsConstants.SO_RCVBUF, SOCKET_RECV_BUFSIZE); }