summaryrefslogtreecommitdiffstats
path: root/packages/DefaultContainerService/src/com
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2012-10-18 14:57:33 -0700
committerKenny Root <kroot@google.com>2012-10-18 17:21:59 -0700
commitcea3743499f4bb8e5f28a2e57686d7af313169c5 (patch)
treef762b85645c8e05ab1ad5f322e9f45daa7cffc26 /packages/DefaultContainerService/src/com
parenta3e90798b7ad3ed62e5b31842c699b2f98bd457b (diff)
downloadframeworks_base-cea3743499f4bb8e5f28a2e57686d7af313169c5.zip
frameworks_base-cea3743499f4bb8e5f28a2e57686d7af313169c5.tar.gz
frameworks_base-cea3743499f4bb8e5f28a2e57686d7af313169c5.tar.bz2
Try to free cache before giving up on install
Try to get installd to free up cache before giving up when there is too little space free. Bug: 7232123 Change-Id: Ie3c8ca8dfc190abbb9a29a7baee31f32e9de7d69
Diffstat (limited to 'packages/DefaultContainerService/src/com')
-rw-r--r--packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
index 76b1ec6..cf56cba 100644
--- a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
+++ b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
@@ -259,6 +259,21 @@ public class DefaultContainerService extends IntentService {
eraseFiles(directory);
}
}
+
+ @Override
+ public long calculateInstalledSize(String packagePath, boolean isForwardLocked)
+ throws RemoteException {
+ final File packageFile = new File(packagePath);
+ try {
+ return calculateContainerSize(packageFile, isForwardLocked) * 1024 * 1024;
+ } catch (IOException e) {
+ /*
+ * Okay, something failed, so let's just estimate it to be 2x
+ * the file size. Note this will be 0 if the file doesn't exist.
+ */
+ return packageFile.length() * 2;
+ }
+ }
};
public DefaultContainerService() {