Merge "DO NOT MERGE Fix for syncs being dropped when appIdle is on" into mnc-dr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e210c99809
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user