Merge "DO NOT MERGE Fix for syncs being dropped when appIdle is on" into mnc-dr-dev

This commit is contained in:
Akshay Thakker
2016-02-22 22:27:24 +00:00
committed by Android (Google) Code Review

View File

@@ -2604,6 +2604,31 @@ public class SyncManager {
}
continue;
}
String packageName = getPackageName(op.target);
ApplicationInfo ai = null;
if (packageName != null) {
try {
ai = mContext.getPackageManager().getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES
| PackageManager.GET_DISABLED_COMPONENTS);
} catch (NameNotFoundException e) {
operationIterator.remove();
mSyncStorageEngine.deleteFromPending(op.pendingOperation);
continue;
}
}
// If app is considered idle, then skip for now and backoff
if (ai != null
&& mAppIdleMonitor.isAppIdle(packageName, ai.uid, op.target.userId)) {
increaseBackoffSetting(op);
op.appIdle = true;
if (isLoggable) {
Log.v(TAG, "Sync backing off idle app " + packageName);
}
continue;
} else {
op.appIdle = false;
}
if (!isOperationValidLocked(op)) {
operationIterator.remove();
mSyncStorageEngine.deleteFromPending(op.pendingOperation);
@@ -2622,28 +2647,6 @@ public class SyncManager {
}
continue;
}
String packageName = getPackageName(op.target);
ApplicationInfo ai = null;
if (packageName != null) {
try {
ai = mContext.getPackageManager().getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES
| PackageManager.GET_DISABLED_COMPONENTS);
} catch (NameNotFoundException e) {
}
}
// If app is considered idle, then skip for now and backoff
if (ai != null
&& mAppIdleMonitor.isAppIdle(packageName, ai.uid, op.target.userId)) {
increaseBackoffSetting(op);
op.appIdle = true;
if (isLoggable) {
Log.v(TAG, "Sync backing off idle app " + packageName);
}
continue;
} else {
op.appIdle = false;
}
// Add this sync to be run.
operations.add(op);
}