Merge "Change thread priority for disk measurement to bg" into jb-dev

This commit is contained in:
Kenny Root
2012-05-14 15:42:31 -07:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 17 deletions

View File

@@ -223,6 +223,8 @@ public class DefaultContainerService extends IntentService {
@Override
public long calculateDirectorySize(String path) throws RemoteException {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
final File directory = new File(path);
if (directory.exists() && directory.isDirectory()) {
return MeasurementUtils.measureDirectory(path);
@@ -233,6 +235,8 @@ public class DefaultContainerService extends IntentService {
@Override
public long[] getFileSystemStats(String path) {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
try {
final StructStatFs stat = Libcore.os.statfs(path);
final long totalSize = stat.f_blocks * stat.f_bsize;

View File

@@ -5600,16 +5600,18 @@ public class PackageManagerService extends IPackageManager.Stub {
private final IPackageStatsObserver mObserver;
public MeasureParams(PackageStats stats, boolean success, IPackageStatsObserver observer) {
public MeasureParams(PackageStats stats, IPackageStatsObserver observer) {
mObserver = observer;
mStats = stats;
mSuccess = success;
}
@Override
void handleStartCopy() throws RemoteException {
final boolean mounted;
synchronized (mInstallLock) {
mSuccess = getPackageSizeInfoLI(mStats.packageName, mStats);
}
final boolean mounted;
if (Environment.isExternalStorageEmulated()) {
mounted = true;
} else {
@@ -7781,22 +7783,16 @@ public class PackageManagerService extends IPackageManager.Stub {
final IPackageStatsObserver observer) {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.GET_PACKAGE_SIZE, null);
// Queue up an async operation since the package deletion may take a little while.
mHandler.post(new Runnable() {
public void run() {
mHandler.removeCallbacks(this);
PackageStats stats = new PackageStats(packageName);
final boolean success;
synchronized (mInstallLock) {
success = getPackageSizeInfoLI(packageName, stats);
}
PackageStats stats = new PackageStats(packageName);
Message msg = mHandler.obtainMessage(INIT_COPY);
msg.obj = new MeasureParams(stats, success, observer);
mHandler.sendMessage(msg);
} //end run
});
/*
* Queue up an async operation since the package measurement may take a
* little while.
*/
Message msg = mHandler.obtainMessage(INIT_COPY);
msg.obj = new MeasureParams(stats, observer);
mHandler.sendMessage(msg);
}
private boolean getPackageSizeInfoLI(String packageName, PackageStats pStats) {