Merge "DO NOT MERGE Fix for syncs being dropped when appIdle is on" into mnc-dr1.5-dev
am: 33001945a8
* commit '33001945a82ba8cd5b5ad27b808312aa2ef210af':
DO NOT MERGE Fix for syncs being dropped when appIdle is on
This commit is contained in:
@@ -2604,6 +2604,31 @@ public class SyncManager {
|
|||||||
}
|
}
|
||||||
continue;
|
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)) {
|
if (!isOperationValidLocked(op)) {
|
||||||
operationIterator.remove();
|
operationIterator.remove();
|
||||||
mSyncStorageEngine.deleteFromPending(op.pendingOperation);
|
mSyncStorageEngine.deleteFromPending(op.pendingOperation);
|
||||||
@@ -2622,28 +2647,6 @@ public class SyncManager {
|
|||||||
}
|
}
|
||||||
continue;
|
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.
|
// Add this sync to be run.
|
||||||
operations.add(op);
|
operations.add(op);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user