From 1285cfd48f5a9bff4b0e7796c0629360760b33af Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Thu, 6 Jul 2017 11:29:06 -0600 Subject: Change storage migration to use quota APIs. New quota APIs are much faster than trying to measure manually, and removing this last user of calculateDirectorySize() means we can remove it once and for all. (cherry picked from commit c8b29ac6f0340bd0c3c9eb388c4be2d446de9a59) Bug: 36056324 Test: builds, boots Merged-In: Ibdf1ee4e8885680e106df6a9269b6309ddc61af8 Change-Id: Ibdf1ee4e8885680e106df6a9269b6309ddc61af8 --- .../android/app/usage/ExternalStorageStats.java | 8 ++++++++ .../internal/app/IMediaContainerService.aidl | 3 --- .../defcontainer/DefaultContainerService.java | 21 --------------------- .../core/java/com/android/server/pm/Installer.java | 2 +- .../android/server/usage/StorageStatsService.java | 1 + 5 files changed, 10 insertions(+), 25 deletions(-) diff --git a/core/java/android/app/usage/ExternalStorageStats.java b/core/java/android/app/usage/ExternalStorageStats.java index d7e570fea4d7..f00e5c29cd75 100644 --- a/core/java/android/app/usage/ExternalStorageStats.java +++ b/core/java/android/app/usage/ExternalStorageStats.java @@ -33,6 +33,7 @@ public final class ExternalStorageStats implements Parcelable { /** {@hide} */ public long videoBytes; /** {@hide} */ public long imageBytes; /** {@hide} */ public long appBytes; + /** {@hide} */ public long obbBytes; /** * Return the total bytes used by all files in the shared/external storage @@ -96,6 +97,11 @@ public final class ExternalStorageStats implements Parcelable { return appBytes; } + /** {@hide} */ + public @BytesLong long getObbBytes() { + return obbBytes; + } + /** {@hide} */ public ExternalStorageStats() { } @@ -107,6 +113,7 @@ public final class ExternalStorageStats implements Parcelable { this.videoBytes = in.readLong(); this.imageBytes = in.readLong(); this.appBytes = in.readLong(); + this.obbBytes = in.readLong(); } @Override @@ -121,6 +128,7 @@ public final class ExternalStorageStats implements Parcelable { dest.writeLong(videoBytes); dest.writeLong(imageBytes); dest.writeLong(appBytes); + dest.writeLong(obbBytes); } public static final Creator CREATOR = new Creator() { diff --git a/core/java/com/android/internal/app/IMediaContainerService.aidl b/core/java/com/android/internal/app/IMediaContainerService.aidl index 81ea191462f0..36e4c1c61f0e 100644 --- a/core/java/com/android/internal/app/IMediaContainerService.aidl +++ b/core/java/com/android/internal/app/IMediaContainerService.aidl @@ -27,9 +27,6 @@ interface IMediaContainerService { PackageInfoLite getMinimalPackageInfo(String packagePath, int flags, String abiOverride); ObbInfo getObbInfo(String filename); - long calculateDirectorySize(String directory); - /** Return file system stats: [0] is total bytes, [1] is available bytes */ - long[] getFileSystemStats(String path); void clearDirectory(String directory); long calculateInstalledSize(String packagePath, boolean isForwardLocked, String abiOverride); } diff --git a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java index 934787774637..3800e6f7e509 100644 --- a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java +++ b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java @@ -212,27 +212,6 @@ public class DefaultContainerService extends IntentService { } } - @Override - public long calculateDirectorySize(String path) throws RemoteException { - Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); - - final File dir = Environment.maybeTranslateEmulatedPathToInternal(new File(path)); - if (dir.exists() && dir.isDirectory()) { - final String targetPath = dir.getAbsolutePath(); - return MeasurementUtils.measureDirectory(targetPath); - } else { - return 0L; - } - } - - @Override - public long[] getFileSystemStats(String path) { - Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); - - final File file = new File(path); - return new long[] { file.getTotalSpace(), file.getUsableSpace() }; - } - @Override public void clearDirectory(String path) throws RemoteException { Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java index 5c4c0401b63c..bd765b49a4ab 100644 --- a/services/core/java/com/android/server/pm/Installer.java +++ b/services/core/java/com/android/server/pm/Installer.java @@ -258,7 +258,7 @@ public class Installer extends SystemService { public long[] getExternalSize(String uuid, int userId, int flags, int[] appIds) throws InstallerException { - if (!checkBeforeRemote()) return new long[4]; + if (!checkBeforeRemote()) return new long[6]; try { return mInstalld.getExternalSize(uuid, userId, flags, appIds); } catch (Exception e) { diff --git a/services/usage/java/com/android/server/usage/StorageStatsService.java b/services/usage/java/com/android/server/usage/StorageStatsService.java index 9f4fb85f64c4..21b11b058160 100644 --- a/services/usage/java/com/android/server/usage/StorageStatsService.java +++ b/services/usage/java/com/android/server/usage/StorageStatsService.java @@ -392,6 +392,7 @@ public class StorageStatsService extends IStorageStatsManager.Stub { res.videoBytes = stats[2]; res.imageBytes = stats[3]; res.appBytes = stats[4]; + res.obbBytes = stats[5]; return res; } -- cgit v1.2.3-59-g8ed1b